Rails
【Rails】find, updateを備えたフォームオブジェクト
【Awesome Nested Set】レコードの位置を動かすメソッドまとめ
· ☕ 1 分で読めます
Awesome Nested Setはツリー構造を表すことのできるgemの1つです。 インスタンスメソッドのまとめは下記ページにまとまっています。 Awesome nested set cheat sheet まとめ ちなみ
【Rails】#class_name を実行するためには pry-doc をインストールする必要がある
· ☕ 1 分で読めます
本番環境では以下のようなエラーが出ました。 NoMethodError (undefined method `class_name' for #<Class:0x000000000c6fc208>) Did you mean? class_eval ローカルでは実行できたので、検証してみました。 1 2 3 4 5 6 7 8 9 [1] pry(main)> user = User.first User Load
【RSpec】たまに使うちょっとトリッキーなマッチャ
· ☕ 1 分で読めます
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 # subjectがArrayクラスであることを検証する it { is_expected.to be_kind_of Array } # 全要素がH
【Rails】countのN+1問題を解消する
· ☕ 2 分で読めます
前提 関連付け:users -< products 1 2 3 4 5 class UsersController < ApplicationController def index @users = User.all end end 1 2 3 4 <% @users.each do |user| %> <%= user.display_name %> (<%= user.products.count %>) <% end %> この場合、user.products.cou
【Rails × Tailwind】Tailwindだけで画像スライダー
· ☕ 1 分で読めます
こういうのです。 参考元はTailwind carousel component - examples & templates できるだけ生CSSを書かずにTailwindで実装しました。 前提 Imageモデルのnam
【Rails × Turbo】TurboStreamを使って非同期処理でお気に入りボタン
【Rails】自前で匿名認証を実装する
【Rails】Zeitwerkの名前空間の競合を無視する
· ☕ 2 分で読めます
環境 Ruby 3.0.2 Rails 6.1.4 エラー文 gem 'config'でbundle installをして、意気揚々とrails g config:installしたところ、以下
【Rails】ルーティングのカスタムparamとform_withの自動生成URLを両立する
· ☕ 2 分で読めます
環境 Ruby 3.0.2 Rails 6.1.4 前提 ルーティングでURLの動的な値に好きなカラム(今回はuuid)を指定する。 これによって、/articles/1などの単純な連
【Rails × Turbo】renderを出力するJS scriptをViewに書く
【Rails】APIのルーティングのresourcesとmodule(具体例)
· ☕ 1 分で読めます
Hashlogのエンドポイントを作るときにルーティング迷子になったので、単純に自分がやったものをまとめておく。 アソシエーション User -< Tags -< Tweets のよ
【Rails】fields_forで外部アカウント登録フォーム
· ☕ 5 分で読めます
環境 Rails 6.1.3.2 Tailwind 2.2.4 実装するもの こんな感じのフォームです。 アイデアはQiitaから拝借しました。 アソシエーションと各カラムの値 アソシエーション User -< SocialAccount
【Rails】ActiveStorageでたまに落ちるテストの解消
【Rails】Sorceryの外部認証でコールバックURLを動的に変える
【Rails】ネストされたattributes_paramsをフォームからコントローラに渡す
· ☕ 5 分で読めます
はじめに フォームからネストされた値を渡し、ストロングパラメータとして取得するだけのサンプルコードです。 バージョン Ruby3.0.0 Rails 6.1.3 アソシエーション Product -< Medium
【Rails】database.ymlって何?
【Rails】複数レコードを一括操作するルーティング
· ☕ 1 分で読めます
post has_many commentsのアソシエーション。 postに紐づくcommentを全て削除するとき、理想ならこんな感じのエンドポイントにしたい↓ DELETE /posts/:post_id/comments が
【Rails】index_byとgroup_byを用いて取り回しのきくハッシュを作成する
· ☕ 3 分で読めます
要件の例 Question -< Answer >- User question has_many answers user has_many answers 問題があらかじめ用意されていて、ユーザーはそれぞれ問題に解答する(1問につき1解答)。 このとき、以下のようなペ