Rails4.2 betaが出ましたねー。Sidekiqのようなジョブが標準で使えるようになったり(ActiveJob)、ActiveRecordのfindを爆速にしてくれるAdequateRecordが搭載されたり、かなり期待の高まっているバージョンです。
Add a required
option to singular associations
そんな中、地味ですが素敵な変更が。Add a required
option to singular associationsというプルリクです。
今まで
belongs_to :account validates_presence_of :account
と書いていた関連のバリデーションを、
belongs_to :account, required: true
と書けるようにする変更です。地味だけど素敵! has_oneも同じようにrequiredオプションをつけることができます。
更にvalidationつながりでwith_optionsも便利になりました。(Add implicit receiver support to Object#with_options
)
class User < ActiveRecord::Base with_options if: :doctor? do |admin| admin.validates :hospital_name, presence: true admin.validates :speciality, presence: true end end
みたいに、ブロック引数をつけなければならなかったのが、
class User < ActiveRecord::Base with_options if: :doctor? do validates :hospital_name, presence: true validates :speciality, presence: true end end
と、簡潔に書けるようになりました。これも地味だけど素敵!
Rails4.2は地味だけど素敵な変更がたくさんあるので、どんな変更があるのか確認するついでのこの機会に、プルリクのコードを読んでみるのも良いかも知れません。せっかくの連休ですしね!