4
這是我的問題的一個例子。如何驗證Rails 3.2中父模型範圍內嵌套模型的唯一性?
我有一個「房間」模式:
class Room < ActiveRecord::Base
has_many :items, :inverse_of => :room
accepts_nested_attributes_for :items
end
而且我有一個「項目」的模式:
class Item < ActiveRecord::Base
belongs_to :room, :inverse_of => :items
validates :some_attr, :uniqueness => { :scope => :room}
end
我想驗證的獨特性:所有的項目some_attr屬性屬於某個房間。
當我試圖驗證的項目,我得到這個錯誤:
TypeError (Cannot visit Room)
我不能設置驗證的範圍是:ROOM_ID由於項目尚未保存,以便標識爲零。我也想阻止在'房間'模型中使用自定義驗證器。
有沒有乾淨的方式來做到這一點在Rails中?我也想知道,如果我正確設置:inverse_of選項...
U不幸的是,由於軌道中的錯誤,這不適用於嵌套屬性。 – maletor