RE: editとupdateだけにする

A has_one B のとき、a.b ってしたら必ずbを返して欲しい(nilはいやだ)。みたいなときは、alias_method_chain を使う。

http://capsctrl.que.jp/kdmsnr/diary/20090130.html#p01

app/以下でのalias_method_chain恐怖症な私はこんな感じにします。アプリ次第なので一概には言えませんが、どうでしょう。

class A < ActiveRcord::Base
  has_one :b
  after_create :create_default_b

  private
  def create_default_b
    b || self.b.create(:some => "param")
  end
end