railsがんばる子

Ruby on Railsがんばる子です。胡蝶蘭のECサイトを運営しています。

rails

polymorphic-associations

Active Record Associations — Ruby on Rails Guides polymorphic-associationsのドキュメントを読んだ。

includesしたActiveRecordのリレーションに対してwhereするともう一度SQLが発行されてしまう

includesしたActiveRecordのリレーションに対してwhereするともう一度SQLが発 ...

viewにはrubyコードをなるべく交ぜない方がよい。

"string".to_symしてたら指摘をうけたので。

modelでは親をsaveしたほうがよい

関連でいうところの子をたくさん更新しようとしたとき 親の関連としてデータをつめてから、親をsaveしたほうがよい。 よい例(親をsave) 悪い例(子をsave)

railsでトランザクションする

railsでトランザクションする! rescue以降に成功した場合の処理を書けないのが要注意や!!

hamlでのID、クラス指定

hamlにてidを{id: 'id_name'}のように指定していたら怒られたのでメモ。 hamlでのid、class指定 ただし、下記のように指定するとエラーが出ます。 div#id_name{{var}}

routes.rb

http://www.locallocal/foo/1/bar みたいなリソースを作りたい時はこうやって書く。 このときfooを無しにしたいのでonly: とする resources :foo, only: do resources :bar, only: [:create, :index]end

modelに関連を付けるときの注意点

dependent: :destroyを付けるかどうかを考えること

複数行のeachはブロック({})ではなくて do-endを使う

(0..6).each{ |weekday_type| ...something ...something ...something } 複数行のeach はブロックではなく (0..6).each do |week_type| ...something ...something ...something end

ruby mapメソッドで新しいhashを作る

新しいハッシュを作る!!

(未解決事件)ActiveRecordでModelのCRUDを解析したい

なんか、一発で解析できるようなツールとかないかな? 二発でもいいけど。

クラスメソッドの使いどころ

インスタンスに対する操作というより、集合の取得処理なのでクラスメソッドでもいいかなと思いました。 (一部、インスタンスの属性を利用しているので、微妙といえば微妙ですが) というご指摘を頂いた。 クラスメソッドとはどういう時に使うのか。 ご指摘の…

(未解決事件)orderするとwhereで絞り込んだレコードが復活しちゃう

orderするとwhereで絞り込んだレコードが復活しちゃう

scopeでwhereしてorder(nullを含める)

scopeでwhereしてorder(nullを含める)

困った時に見るrails api

Ruby on Rails API

ActiveRecordのJoinsとかmergeとか

ActiveRecordの条件指定でめっちゃ苦労したのでメモ。 ActiveRecord:scopeをmergeする(引数も取れるよ!)