日常

ケ・セラ・セラ

最近の rails3.2 のはなし

ruby 2.3 から加わった Hash#to_proc がある。

この影響で、rails 3-2-stable ではこのような修正が merge された。これを含む 3.2系のリリースはまだされていない。

Associations do not call .to_proc on Hash #25043

4-2-stable にも master にもこのような変更が含まれていないのは、

そもそもこういった書き方は deprecated になっていて、

has_many :content_blocks, through: :page_blocks, autosave: true, source: :block, conditions: { page_blocks: { location: 'content' } }

こう書くようになっているから。という理解。

has_many :content_blocks, through: :page_blocks, autosave: true, source: :block, conditions: ->(*) { { page_blocks: { location: 'content' } } }

ここでまさに言っていたっぽい。

https://github.com/rails/rails/pull/23082

ひとこと加えておくと、好きで 3.2 を使い続けているわけではない。