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