我有以下型號:爲什麼不:readonly => true在belongs_to關聯中工作?
class Question < ActiveRecord::Base
belongs_to :user, :readonly => true
end
我預料的:只讀=> true屬性將防止用戶被即改變
# assume we've set up user_1, user_2 and question
# and that question.user == user_1
question.user = user_2
question.save
question.reload
question.user == user_2 # true - why?
爲什麼這是真的 - 我預計: readonly => true會阻止此屬性在初始創建後被更改?如果它不是,那麼readonly選項實際上是做什麼的?
編輯
使用attr_readonly
會給非變性(不變性?),我一直在尋找。
class Question < ActiveRecord::Base
belongs_to :user
attr_readonly :user_id
end
與它唯一的問題是,當你嘗試更改屬性,這樣很容易讓蟲子無聲的失敗,它便不會引發異常。
良好的通話,我檢查了它,你就點上。 –