我正在尝试通过user_id&来验证联接表Employee中行的唯一性。 restaurant_id。
其他帖子提示类似这样的内容,但它不能用“:id”作为属性,因为在测试时它仍然会应用重复项。
validates_uniqueness_of :id, :scope => [:user_id, :restaurant_id]
也许铲子作业@restaurant.users << @user
不能验证唯一性?
型号:
class Restaurant < ActiveRecord::Base
has_many :employees
has_many :users, through: :employees
end
class User < ActiveRecord::Base
has_many :employees
has_many :restaurants, through: :employees
end
class Employee < ActiveRecord::Base
belongs_to :restaurant
belongs_to :user
end
答案 0 :(得分:0)
我能找到的最好的解决办法是在控制器内验证如下:
if @restaurant.users.include?(@user)
在我的情况下哪个是好的,因为我只在我的应用程序中的一个地方执行该操作,但我想知道是否有更好的方法使其在其他情况下更干。