Rails関連のことを調べてみた2022年07月12日

Rails関連のことを調べてみた2022年07月12日
目次

【Rubocop】.rubocop.yml設定例【Rails】

## .rubocop.yml設定例
“`.rubocop.yml
require:
– rubocop-performance
– rubocop-rails
– rubocop-rspec

AllCops:
NewCops: enable

Layout/EmptyLinesAroundAccessModifier:
EnforcedStyle: only_before

Layout/IndentationConsistency:
EnforcedStyle: indented_internal_methods

Layout/LineLength:
Max: 80

Style/AsciiComments:
Enabled: false

Style/Documentation:
Enabled: false

Style/FrozenStringLiteralComment:
Enabled: false

Style/StringLiterals:
EnforcedStyle: double_quotes
“`

## 各項

元記事を表示

RailsでActive Hashを使ってカテゴリを作る

RailsでActive Hashを使ってカテゴリを作る方法を紹介します。

こちらの記事
https://qiita.com/satoka_com/items/183d22541c3a54e0d878
を参考にしました。

最初にGemfileに、
“`
gem ‘active_hash’
“`
を記載して、
“`
$ bundle install
“`
します。

自分の場合だとrecruitmentモデル(求人ページ)にカテゴリを持たせたいと考えているので、
そこにActive Hashを使ってカテゴリを作っていきます。

最初にJobategoryモデルを作成します。
“`Ruby
#job_category.rb
class Category < ActiveHash::Base self.data = [ { id: 1, name: 'サンプル' }, { id: 2, name: 'サンプル2' }, { id: 3, name: 'サンプル3' } ] include ActiveHash::Associations has_many :r

元記事を表示

【Rails】リロードをしないとJavaScript (jQuery)が動作しない

今回はスクールでも頻発している
”リロードしないとjQueryが動かない問題”について記事にしていこうと思います。
かくいう私も見事この沼にハマり、かなり悩まされました、、、

# 開発環境
Rails 6.1.4
ruby 2.6.3

# 目次
– 原因
– 対処法
– 対処法(番外編)

## 原因
私の場合、FontAwesome導入時にjQueryのコードを追記していたのですが、
なぜかそれが削除されており、jQueryが作動しないという状況でした。

## 対処法

下記のコードを追記します。

“`ruby:config/webpack/environment.js
const webpack = require(‘webpack’)
environment.plugins.prepend(
‘Provide’,
new webpack.ProvidePlugin({
$: ‘jquery/src/jquery’,
jQuery: ‘jquery/src/jquery’,
Popper: ‘popper.js’
})
)
“`

元記事を表示

もう迷わないRubyのコード自動整形のやり方!!

今日は意外と時間かかったコードを自動で整形してくれる拡張機能を入れてみたのでそちらを記事に書いていこうと思います。
調べても思ったより上手くいかなくて、手こずったためこれから導入する人の少しでも参考になれば幸いです

まずはrufoというgemをインストールします
“`
$ gem install rufo
“`
VScodeの拡張機能でrufoと検索してダウンロードします
終わり

“`
これで一括でrufoでコードを整形できる
$ rufo .
“`

“`
特定のファイルだけ走らせる時
$ rufo ファイル名(ディレクトリ名)
例: $rufo app/views/layouts/application.html.erb
“`
ちなみにrufoでのコード整形の詳細設定の一例を書いておきます
プロジェクトフォルダ直下に.rufoファイルを作成
“`.rufo
parens_in_def :yes //これでメソッドに引数を渡すときに()が自動で生成される
trailing_commas :always //これで配列の要素の後ろに必ず,がつくようになる
“`

`

元記事を表示

ローカルでRailsの環境構築

Railsチュートリアルの通りにCloud9で環境構築をしていましたが、何度やり直しても正体不明のエラーが発生し初学者の自分では解決できそうになかったので、[こちらのProgateの記事](https://prog-8.com/docs/rails-env)を見てMacのターミナルで環境構築し最初からローカルでやるようにしました。ところが、ここでもエラーが発生し、調べたところ下記の記事が検索結果のトップに出てきたのでこの通りにすると一応解決できました。

無限 Rails is not currently installed on this system. 問題の調査 – Qiita
https://qiita.com/amuyikam/items/313bc89c1de320a4257e

この記事の通りに
hash -r
を実行しました。

“`
ys@mbp ~ % /usr/bin/rails –version
Rails is not currently installed on this system. To get the latest version, simply

元記事を表示

【Rails】Rails 6 × Tailwind CSS v2導入 – 備忘録

# 目次
[1.はじめに](#1-はじめに)
[2.TailwindCSSの導入](#2-TailwindCSSの導入)
[3.動作確認](#3-動作確認)
[4.おわりに](#4-おわりに)
[5.参考記事](#5-参考記事)

# 1. はじめに

Railsに慣れることが目的なので、CSSでもBootstrapでもよかったのですが、
CSSだと時間がかかるし・・・
Bootstrapは現場でほぼ使うことない・・・
と思いTailwindCSSを使ってみることにしました。

Rails の練習用にプロジェクトを作成している際に、TailwindCSSの反映で少し詰まったので対処を記載します。

Railsのアプリケーションの作成が完了した「後」の手順になります。

基本的に以下の記事を参照させていただき、作業を進めました。
[Rails6にTailwindCSSを導入し、tailwind.config.jsでカスタマイズもできるようにする](https://zenn.dev/ikuma/articles/install-tailwind-in-rails6-with-webpack

元記事を表示

【draw.io】ER図テーブルに列と行を追加する方法


図描画ツール[draw.io](https://www.draw.io/)でER図を作成中、
テーブルの列や行の追加の方法がわからなかったのでメモしておきます。

↓ここにありました。

![スクリーンショット 2022-07-11 143732.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730324/6c375dc6-32fd-40fa-b237-9dbe7f0c9075.png)

対象のテーブルを選択して、右のArrangeタブのTableエリアを操作すればできました!

元記事を表示

Webpacker::Manifest::MissingEntryError 解消法 – Rails version 6.0 環境

## 対象環境
node.js : v16.x.x
rails : v6.0.x

## 具体的なエラー前動作
“`:terminal
rails new xxx
cd xxx
rails g scaffold user
rails db:create
rails db:migrate
rails s
“`
として、
http://localhost:3000/users
にアクセスすると下記のエラーが発生

![Screen Shot 2022-07-11 at 11.58.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2646082/3bf33b38-d7f7-251e-5b27-00c41ad72a48.png)

## 対処法
### 1.railsのバージョンを6.1.xに変更する(推奨)
参考:
コマンド
Lhttps://qiita.com/seijMAN/items/ac363f6688c72f4ea186
インストール可能なバージョン参照
Lhttps://rubygems.

元記事を表示

エラー解決: NoMethodError – undefined method `own?’ for nil:NilClass:

このエラーはよく見過ぎて対応の仕方がよくわかってきましたが、改めてまとめていきたいと思います。

今回エラーが出た場所はここです。
“`
<%= render 'crud_menus', post: post if current_user.own?(post) %>
“`
このエラーはmethodのレシーバーがundefinedだよって忠告されているエラーです。
今回はownの前のcurrent_userがnilになってますよ!と言うことです。

対応方法は本当に色々とありますが、私はよくunlessを使います。
下記のようにunlessをつけると、current_userがnilでない時に<%= render 'crud_menus', post: post if current_user.own?(post) %>を実行すると言うことになります。
“`
<% unless current_user == nil then %>
<%= render 'crud_menus', post: post if current_user.own?(post) %>
<% e

元記事を表示

rollbackできないエラーの時

rollbackをしようと実装していた矢先、以下のようなエラーが出て、少しはまってしまったため、その備忘録を書かせて頂きます。
“`
ActiveRecord::UnknownMigrationVersionError:
No migration with version number 20220703020507.
“`

このエラーはどう言う時に出るかというと、下記の表で上から三行目に
[********** NO FILE **********]と書かれてるように、NO FILEがあると、うまくrollbackができなくなってしまいます。
“`
database: starbuck_services2_development

Status Migration ID Migration Name
————————————————–
up 20220702022539 Sorcery core
up 20220702115611 Add role to users

元記事を表示

Claris ConnectでEコマースの在庫連携システムを作成する

# はじめに

この記事は、Qiita Engineer Festa 2022 「**[Claris Connect を使った SaaS 連携ユースケースを紹介しよう!](https://qiita.com/official-events/eeadea1de45a11be944e)**」に参加するために作成した記事です。

在庫連携システムを作成しますが、
実運用に使用できるほど仕様を考えていないので軽い気持ちで見ていただけると幸いです
また、Claris ConnectのIDや本記事で使用する各種サービスの登録方法は省略させて頂きます

# 概要

今回は複数のECを運用する事で必要になる「在庫連携システム」をClaris Connectを使って構築します
実際に運用する事をイメージして複数システムのデータ連携からSlack・Trelloのサービス連携まで行います

# 在庫連携システムとは

実装に移る前に在庫連携システムについて説明します

まずこちらが在庫連携を使用せずに複数のECサイトを運用している図になります
商品在庫を同期していないのでそれぞれのECサイトに在庫を振り分け

元記事を表示

Rails エラー「Runtime Error Your version of SQLite (3.7.17) is too old. Active Record supports SQLite >= 3.8」の対処法

# 開発環境
Rails 6.1.4
ruby 2.6.3

# 目次
– エラー全文
– 対処法

## エラー全文
アプリケーション作成後、`@rails s`でアプリケーションを起動。
サイトアクセス時、に下記エラーが発生。

![rails1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730324/74534efa-3a59-2d31-5c3c-3c47a9ce501e.png)

AmazonLinux2にはsqlite3のバージョン3.7がデフォルトでインストールされており、
これがyumで利用しているらしく、削除することはできません。
しかし、Rails6を動かすにはsqlite3のバージョン3.8以上が必要なので、
バージョンが古い!とエラーが出ている、、、というわけです。

## 対処法

既存のSQLiteはそのままで、3.8以上のSQLiteを別途インストールします。
sqliteの最新バージョンは[こちら](https://www.sqlite.org/download.

元記事を表示

Rails7で画像の保存にActiveStorage使ってみよう(導入からリサイズまで)

## はじめに

Ruby on Railsには、クラウドストレージサービスへのファイルのアップロードを行う機能を提供するActive Storageがあります。

Rails5.2から登場したActive Storageですが、当初はできることが少なく、CarrierWaveを利用する方も多かったのではないでしょうか。
Rails7まででActive Storageには様々な機能が追加され、新規開発の際はActive Storageを選択することが多くなると思います。

今回はActive Storageの導入からよく使うであろう画像のリサイズの方法までをご紹介します。

ViewやControllerまわりについては説明していないので[Railsガイド](https://railsguides.jp/active_storage_overview.html)などで確認してください。

## 開発環境

[こちらの記事](https://qiita.com/croquette0212/items/7b99d9339fd773ddf20b)を参考にRails7 + MySQLの開発環境

元記事を表示

Ruby初心者向けのVSCodeでの環境構築+実行環境構築+ショートカットキー紹介

プロを目指す人のためのRuby入門に書かれているエディタの環境構築をVSCode上で行いました。
この記事を最後まで読むことで、プロを目指す人のためのRuby入門に書かれている以下の環境構築をVSCode上で行えるようになります。
また、書籍内に書かれていたのおすすめ機能に加えてVSCode上でRubyを実行する設定も行います。
これによって簡単にVSCode上でRubyの実行ができるようになります。

>1.シンタックスハイライトを設定する
2.複数行の一括コメントアウト、コメント解除
3.矩形選択・矩形編集
4.タブキーによるインデント幅の設定
5.endキーワードの自動入力、自動インデント
6.複数ファイルの同時編集、タブ表示
7.ウインドウの分割
8.ファイルツリーの表示
9.インデントの可視化
10.やる気の出るカラースキームや背景画像
11.全角スペースの可視化(2020.2.29追記)
12.Rubyの実行環境を構築する
※1-11に関しては著者Qiitaより抜粋しました。
https://qiita.com/jnchito/items/0ad568263f341977

元記事を表示

Ruby on Railsをローカルで始めようとしてつまずいたこと(Windows)

# 概要
railsを触ろうと思ってWindowsでHelloWorld的なところをやろうとしたら、エラーが出てしまったのでその対応の備忘録。

## バージョン
* ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x64-mingw32]
* Rails 7.0.3
* Windows 10 Home

## エラー内容

`Windows PowerShell`でコマンド実行。
アプリケーションを作る際にエラー。

`$ rails new rails_practice`

エラーログ
“`
create
create README.md
create Rakefile
create .ruby-version
create config.ru
create .gitignore
create .gitattributes
create Gemfile
run git init from .
C:/Rub

元記事を表示

railsでparams.require(モデル)を指定したときにparam is missing or the value is empty:エラーが発生する

Webアプリケーションを初めて作成していたときに困ったエラーでparamsから受け取ったデータを保存するときにparamsの値が存在しないとエラーが出て困ったので、初学者で同じように困る方もいるのではないかと思い、今回の記事を作成しました。

下記のような記述をしていてエラーが出ました。
“`posts_controller.rb
class PostsController < ApplicationController def index @posts = Post.all end def new @post = Post.new end def create binding.pry Post.create(post_params) end private def post_params params.require(:post).permit(:text) end end ``` ```new.html.erb

新規投稿ページ

<%= form_with url: '/posts

元記事を表示

【Rails】【Rspec】トランザクションのロールバックをテストする

## はじめに
未経験からエンジニアに転職して、3ヶ月経つエンジニアです。
![自己紹介.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/916052/d4c50641-f785-5708-3e16-c93830a1d41d.jpeg)
今回は業務で経験した「トランザクションのロールバックをテストする」方法について書きます。

## トランザクションとは
>ブロック内のすべての処理が正常に行われた場合に保存
エラーが発生した場合は、ロードバック

https://railsdoc.com/page/transaction

これだけだとわかりませんよね、、
↓の記事などが参考になるかもしれません!

https://qiita.com/tomokiyao/items/8697b523a0a5b9cf0bec

## テストしていく
トランザクションを使っているということは、重要な処理をしている可能性が高いです。
つまり、コードにバグが含まれていると取り返しのつかないことになり得る危険性が高いともいえます

元記事を表示

【Rails】Rails6 + docker メール設定エラー 「Errno::EADDRNOTAVAIL (Cannot assign requested address – connect(2) for “localhost” port 1025)」

## 概要
Rails6とdocker環境でメール設定をした際に発生したエラーの備忘録です。

### 環境
– ruby 3.0.3p157 (2021-11-24 revision 3fb7d2cadc) [x86_64-linux]
– Rails 6.1.6
“`docker-compose.yml
# 中略
mailcatcher:
image: schickling/mailcatcher
ports:
– 1080:1080
– 1025:1025
“`

## エラー発生時のメール設定
“`development.rb
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = { address: ‘localhost’, port: 1025 }
config.action_mailer.raise_delivery_errors = true
“`

### エラー内容
– Railsサーバ側

元記事を表示

トランザクションの例外処理で参考にした記事(自分用)

https://prograshi.com/framework/rails/rescue_rais_retry_ensure/

元記事を表示

【個人開発】飲み方やおつまみの相性から直感的にウイスキーを探せるサービスを作った話?

![OGP.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1834267/71b87264-5ed3-7ff9-1ef0-41a88850138a.png)

飲み方やおつまみの相性、香りの強さ、口当たりの軽さなど
直感的な要素からウイスキーを探せるサービスをリリースしました!?

▼サービスURL
https://malt-mate.jp

▼GitHub
https://github.com/tarakish/whiskey_database

# はじめに??
はじめまして!駆け出しへべれけエンジニアの[みや](https://twitter.com/tarakish_23)と申します?
ウイスキーについても駆け出しのためネットで情報を探すことが多いのですが、
フレーバー?歴史?タイヤのような香り?カスクストレングス?etc…前提知識が必要だったり、
そもそもの情報量が多すぎて分からなくなることが多いな〜と感じてました。そこで
– 相性のいい飲み方やおつまみなど、**飲む際に実際に考えるような

元記事を表示

OTHERカテゴリの最新記事