gpt4 book ai didi

ruby-on-rails - 如果不为零则验证外键是否存在

转载 作者:行者123 更新时间:2023-12-04 04:41:50 27 4
gpt4 key购买 nike

我在 Rails 4 中定义了一个多对一的关系:

class Event < ActiveRecord::Base
belongs_to :user
end

我如何检查, :user如果设置了键是否存在?

以下正确检查 key 存在但不允许`nil?值(value)观:
  validates :user, presence: true

以下允许任何值,甚至不存在的 ID:
  validates :user, presence: true, allow_nil: true

你如何进行这种验证。

最佳答案

如果提供了用户,您可以使用 before_save 回调来检查用户是否有效:

class Event < ActiveRecord::Base
belongs_to :user

before_save: :validate_user unless: Proc.new { |event| event.user.nil? }

private
def validate_user
if User.where(id: user_id).empty?
errors[:user] << "must be valid"
end
end

end

关于ruby-on-rails - 如果不为零则验证外键是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18775464/

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