工作,我有以下3類:Rails的validates_uniqueness_of和範圍 - 只在更新
class Profile < ActiveRecord::Base
end
class Subject < ActiveRecord::Base
end
class ProfileSubject < ActiveRecord::Base
belongs_to :profile
belongs_to :subject
validates_uniqueness_of :subject_id, scope: :profile_id
end
當我與他相關的ProfileSubject的收集更新我的資料這個validates_uniqueness_of
的偉大工程。但是,在創造行動 - 它沒有驗證這種獨特性。我想,也許這是因爲當我創建對象時,我還沒有profile_id ...並且我嘗試爲模型添加我自己的令牌,我可以使用它來連接它們並進行驗證(在範圍validates_uniqueness_of
上使用它)。廣告我現在知道,它沒有用,也沒有工作。
你能幫助我...爲什麼這個標準驗證在更新操作上工作正常..但不適用於創建操作。
創建代碼是標準的,是這樣的:
@profile = Profile.new(profile_params)
if @profile.save
# ...
else
# ...
end
,你能否告訴我們創造的代碼? – tompave