gpt4 book ai didi

ruby-on-rails - 目录 : How do I ensure only one object is assigned to my object?

转载 作者:太空宇宙 更新时间:2023-11-03 17:19:48 24 4
gpt4 key购买 nike

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

我已将所有内容连接起来,以便我的 View 按我想要的方式工作,但是,现在我需要确保同一个 Foo 不会多次分配给我的用户。

执行此操作的最佳方法是什么?

我假设我可以在我的模型中使用 validates_uniqueness_of,但这不会特定于单个用户。我需要在更新时执行此操作吗?我希望有一个内置的“Ruby 方式”来执行此操作。

最佳答案

validates_uniqueness_of 涵盖了它,您只需添加一个额外的选项即可获得您想要的行为。

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

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

关于ruby-on-rails - 目录 : How do I ensure only one object is assigned to my object?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/301198/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com