【RSpec】たまに使うちょっとトリッキーなマッチャ 📅 2021-12-10 · ☕ 1 分で読めます #Ruby #Rails #RSpec #小技 1 2 3 4 5 6 7 8 9 10 11 12 13 14 # subjectがArrayクラスであることを検証する it { is_expected.to be_kind_of Array } # 全要素がHashであることを検証する it { is_expected.to all(be_kind_of
【Rails】countのN+1問題を解消する 📅 2021-12-03 · ☕ 4 分で読めます #Rails #N+1 前提 関連付け: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だけで画像スライダー 📅 2021-11-01 · 📝 2021-11-02 · ☕ 1 分で読めます #Rails #Tailwind こういうのです。 参考元はTailwind carousel component - examples & templates できるだけ生CSSを書かずにTailwindで実装しました。 前提 Imageモデルのnam
【Rails × Turbo】TurboStreamを使って非同期処理でお気に入りボタン 📅 2021-09-10 · ☕ 3 分で読めます #Rails #Hotwire #Turbo はじめに 「お気に入り機能」といえば、js.erbファイルを作成してAjaxで切り替える実装が多いのですが、今回はTurboStreamでお気
【Rails】自前で匿名認証を実装する 📅 2021-08-20 · ☕ 3 分で読めます #Ruby #Rails #Cookie #Railsチュートリアル Railsチュートリアルのremember meの永続化Cookieの実装を参考にする。 「匿名認証」とは ここでは、 ユーザー登録・ログイン不要 ブ
【Rails】Zeitwerkの名前空間の競合を無視する 📅 2021-08-06 · ☕ 2 分で読めます #Ruby #Rails #gem #config #Zeitwerk 環境 Ruby 3.0.2 Rails 6.1.4 エラー文 gem 'config'でbundle installをして、意気揚々とrails g config:installしたところ、以下
【Rails】ルーティングのカスタムparamとform_withの自動生成URLを両立する 📅 2021-07-23 · ☕ 2 分で読めます #Ruby #Rails #ルーティング #form_with 環境 Ruby 3.0.2 Rails 6.1.4 前提 ルーティングでURLの動的な値に好きなカラム(今回はuuid)を指定する。 これによって、/articles/1などの単純な連
【Rails × Turbo】renderを出力するJS scriptをViewに書く 📅 2021-07-10 · 📝 2021-08-21 · ☕ 3 分で読めます #Ruby #Rails #Hotwire #Turbo 概要 renderの中身をJSで増やす / 削除するようなJSをviewに直接書きました。 このやり方が調べても出てこなかったので、実装の一例として
【Rails】APIのルーティングのresourcesとmodule(具体例) 📅 2021-07-09 · 📝 2021-07-10 · ☕ 1 分で読めます #Ruby #Rails #ルーティング Hashlogのエンドポイントを作るときにルーティング迷子になったので、単純に自分がやったものをまとめておく。 アソシエーション User -< Tags -< Tweets のよ
【Rails】fields_forで外部アカウント登録フォーム 📅 2021-06-30 · 📝 2021-07-21 · ☕ 5 分で読めます #Ruby #Rails #fields_for 環境 Rails 6.1.3.2 Tailwind 2.2.4 実装するもの こんな感じのフォームです。 アイデアはQiitaから拝借しました。 アソシエーションと各カラムの値 アソシエーション User -< SocialAccount
【Rails】ActiveStorageでたまに落ちるテストの解消 📅 2021-06-21 · 📝 2021-11-25 · ☕ 2 分で読めます #Rails #ActiveStorage ActiveRecord::InvalidForeignKey, ActiveRecord::ConnectionNotEstablished
【Rails】Sorceryの外部認証でコールバックURLを動的に変える 📅 2021-06-12 · 📝 2021-08-19 · ☕ 4 分で読めます #gem #Rails #Sorcery SorceryのコールバックURLは基本的にconfigファイルで変更するのですが、コントローラから動的に変えたいときはどうすればいいのかわ
【Rails】ネストされたattributes_paramsをフォームからコントローラに渡す 📅 2021-05-15 · 📝 2021-08-21 · ☕ 5 分で読めます #accepts_nested_attributes_for #fields_for #Ruby #Rails はじめに フォームからネストされた値を渡し、ストロングパラメータとして取得するだけのサンプルコードです。 フォームオブジェクトはフォームオブジェ
【Rails】database.ymlって何? 📅 2021-05-01 · ☕ 3 分で読めます #database.yml #Ruby #Rails はじめに RUNTEQ内でチーム開発をしているのですが、みんな大好き環境構築は最初の難関でございます。 特にデータベースでハマったことがない人は
【Rails】複数レコードを一括操作するルーティング 📅 2021-04-26 · ☕ 1 分で読めます #Ruby #Rails post has_many commentsのアソシエーション。 postに紐づくcommentを全て削除するとき、理想ならこんな感じのエンドポイントにしたい↓ DELETE /posts/:post_id/comments が
【Rails】index_byとgroup_byを用いて取り回しのきくハッシュを作成する 📅 2021-03-31 · 📝 2021-04-19 · ☕ 5 分で読めます #Ruby #Rails 要件の例 Question -< Answer >- User question has_many answers user has_many answers 問題があらかじめ用意されていて、ユーザーはそれぞれ問題に解答する(1問につき1解答)。 このとき、以下のようなペ
ゲストログインについての議論の過程 📅 2021-03-13 · 📝 2021-08-20 · ☕ 2 分で読めます #ゲストログイン #Rails よくあるゲストログイン ゲストユーザーをあらかじめ作成しておいて、そのユーザーとしてログインする。 Sorceryを使った実装を例とする。 1 2 3
【Rails】eager_load, preload, joins入門 📅 2021-01-26 · 📝 2021-12-03 · ☕ 1 分で読めます #Rails eager_load, preload, joinsについて
【Ruby/Rails】業務で得た小技まとめ 📅 2021-01-07 · 📝 2021-12-10 · ☕ 1 分で読めます #Ruby #Rails #小技 compact.join(' '), has_manyが0のときに404にする
【Rails】ActiveRecord系のCRUDメソッドの返り値 📅 2020-12-25 · ☕ 1 分で読めます #Rails #ActiveRecord new, build インスタンスを返す。 save, save! booleanを返す。 インスタンスが欲しいときは、@hoge.tap(&:save)などとする。 tap 面白い