gpt4 book ai didi

ruby-on-rails - ActiveRecord:用户特定的验证

转载 作者:太空宇宙 更新时间:2023-11-03 16:11:09 26 4
gpt4 key购买 nike

我想创建特定于用户的验证。

用户有一个名为“rule_values”的列,它是特定数量的序列化哈希。

在一个单独的模型中,Foo,我有一个验证:

class Foo < ActiveRecord::Base
belongs_to :user

n = self.user.rule_values[:max_awesome_rating] #this line is giving me trouble!
validates_presence_of :awesome_rating, :in => 1..n
end

似乎 self 指的是 Foo(这就是我收到未定义方法错误的原因)而不是 Foo 的实例。如何从 Foo 模型中访问 User 实例?

最佳答案

像这样在 Foo 上创建自定义验证怎么样?

class Foo < ActiveRecord::Base

validate do |foo|
n = foo.user.rule_values[:max_awesome_rating]
unless (1..n).include? foo.awesome_rating
foo.errors.add :awesome_rating, "must be present and be between 1 and #{n}"
end
end

end

这样你就可以访问实例和用户关联

关于ruby-on-rails - ActiveRecord:用户特定的验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3304501/

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