我有一个User
模型,它 has_many Dish
through Recommendation
。我想强制 的唯一性Dish
,以及 的唯一性Recommendation
。
我应该怎么做ActiveRecord
呢?
在我的dish.rb
:
validate_uniqueness_of :dish_name
我想要的是:当用户推荐一道菜时,如果它不存在,则创建一个新菜,然后创建推荐。如果菜已经存在,那么只需创建推荐并指向现有菜。
我是否需要手动处理这些情况(即检查dish
控制器中是否存在),或者 ActiveRecord 有办法在内部处理它?
更新:
validate_uniqueness_of :dish_name
只检查并返回错误消息,如果dish
在那里创建。它可能不会创建recommendation
指向现有dish
.