ITの隊長のブログ

ITの隊長のブログです。Rubyを使って仕事しています。最近も色々やっているお(^ω^ = ^ω^)

Rails

Railsで悲しみのmigrateエラー

$ rails db:migrate と、実行すると Caused by: ArgumentError: wrong number of arguments (given 2, expected 0..1) ... に、悩まされていましたが、マイグレーションファイルを作ったときに 20240601110111_${テーブル名}.rb こういうファイル名でした。 …

Rails5.2でjoins後にselectでaliasで変更したフィールドが取れない

バグらしい qiita.com github.com Rails6系だと治っているらしい

Railsでのデバッグ

これまでprintデバッグプログラマだったが、さすがに辛いということでPythonのipdbみたいのないかなってぐぐってみたらあった。 techracho.bpsinc.jp あったけど、どうせControllerのデバッグとかめんどいでしょ?とか思ったんだけど、RSpecで試したらちゃん…

サブクエリの結果とjoinする

概要 SQLだったら、2つのサブクエリの結果をjoinして結果を出したかった Railsでのやりかたわからんかったので色々試す 目的 TableAのvalueをidごとに集計するんだけど、①全集計と②とある条件で集計した結果をidごとに紐付けて差分とる。というようなSQLを書…

Railsのassociationでaliasをつける方法とFactoryBotのassociationでaliasをつける方法

概要 ハマったので調べたメモ Rails qiita.com ~/app/models/user.rb ~/app/models/book.rb user:bookは 1:N とする user側はhas_manyになるが、book側はbelongs_toになる。 belongs_to :user, foreign_key: 'user_id' aliasに変更したい場合は、こう belong…

RailsのN+1対策の話

zenn.dev Rails初心者マンの僕がこの記事をみて思ったこと joinsは? キャッシュの有効期限はどこで設定するんじゃろうか qiita.com 他の3つとの違いは、associationをキャッシュしないこと。 なるほど serip39.hatenablog.com qiita.com なるほど〜〜〜 あ…

Railsの日付操作が面白い

RuboCopにこんな怒られ方しました。 C: [Correctable] Rails/DurationArithmetic: Do not add or subtract duration. Time.new - 30.minutes これ以外にどんな方法が???と思っていたのですが、同僚から教えてもらいました。 qiita.com おもしろい。 記事…