当前位置:  开发笔记 > 后端 > 正文

RoR:我如何确保只为我的对象分配一个对象?

如何解决《RoR:我如何确保只为我的对象分配一个对象?》经验,为你挑选了1个好方法。

在我的Ruby on Rails应用程序中,我有一个User表和一个Foo表.我还有一个User_Foo表来存储交叉引用数据.

我已经将所有内容都连接起来以便我可以按照自己的意愿工作,但是,现在我需要确保同一个Foo不会多次分配给我的用户.

最好的方法是什么?

我假设我可以在我的模型中使用validates_uniqueness_of,但这不是特定于单个用户.我是否需要在更新时执行此操作?我本来希望有一个内置的"Ruby Way"来做这件事.



1> Michael..:

validates_uniqueness_of涵盖它,你只需要添加一个额外的选项来获得你想要的行为.

假设您有一个UserFoo模型来存储交叉引用关系(并且不做无模型).以下验证不允许重复的foo-user链接.

class UserFoo < ActiveRecord::Base
  belongs_to :user
  belongs_to :foo
  validates_uniqueness_of :foo_id, :scope => :user_id

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有