的存在,我有以下型號驗證一個HABTM模型關係
class Business < ActiveRecord::Base
has_and_belongs_to_many :categories
validates_presence_of :category_ids
end
class Category < ActiveRecord::Base
has_and_belongs_to_many :businesses
end
我設置通過業務創造形式的關係,使用category_ids
屬性。
我試過使用validates_presence_of
,但是,這不是驗證類別的存在。
我可以通過瀏覽器操作表單,給一個類別提供一個不存在的ID。提交表格後,我得到一個錯誤:
Couldn't find Category with id=181723
編輯:
添加以下自定義的驗證方法,但我仍然得到同樣的錯誤,因爲如果驗證是沒有運行。
class Business < ActiveRecord::Base
has_and_belongs_to_many :categories
validate :categories_exist
def categories_exist
category_ids.each do |c|
errors.add(:category_ids, :category_doesnt_exist) unless Category.exists? c
end
end
end
謝謝。我將使用自定義驗證發佈我的最終解決方案。 – AlexBrand
嘗試過但仍然收到錯誤..請參閱編輯 – AlexBrand