gpt4 book ai didi

ruby-on-rails - Rails 条件验证

转载 作者:行者123 更新时间:2023-12-04 05:54:05 25 4
gpt4 key购买 nike

所以我这里有两个模型:

class Screen < ActiveRecord::Base
belongs_to :user
validates :screen_size, :numericality =>{:less_than_or_equal_to =>100,:greater_than_or_equal_to => 0},:if => "user.access==1"

class User < ActiveRecord::Base
has_many :screens
attr_accessible :access

但是这段代码不起作用,因为无论 user.access 是什么值,它仍然会执行验证。我在这里做错了什么?

谢谢

最佳答案

改变:

:if => "user.access==1"

和:
:if => lambda { |screen| screen.user.try(:access) ==1 }

因为:
  • 您需要传递一个函数来即时评估条件
  • 如果您的屏幕没有任何用户,只需 screen.user.access会抛出异常
  • 关于ruby-on-rails - Rails 条件验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7312073/

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