ruby-on-rails - Rails - 验证关联的存在?

标签 ruby-on-rails ruby-on-rails-3 validation activerecord

我有一个模型 A,它与另一个模型 B 具有“has_many”关联。我有一个业务要求,即插入 A 需要至少 1 个与 B 相关的记录。是否有我可以调用的方法来确保这一点是真的,还是我需要编写自定义验证?

最佳答案

您可以使用validates_presence_ofhttp://apidock.com/rails/ActiveModel/Validations/ClassMethods/validates_presence_of

class A < ActiveRecord::Base
  has_many :bs
  validates_presence_of :bs
end

或者只是验证 http://apidock.com/rails/ActiveModel/Validations/ClassMethods/validates

class A < ActiveRecord::Base
  has_many :bs
  validates :bs, :presence => true
end

但是,如果您将 accepts_nested_attributes_for:allow_destroy => true 一起使用,则会出现错误:Nested models and parent validation 。在本主题中您可以找到解决方案。

关于ruby-on-rails - Rails - 验证关联的存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5689888/

相关文章:

ruby-on-rails-3 - 使用 Heroku 访问和部署问题

ruby-on-rails-3 - 如何使用mailman处理传入的邮件并将其更新到数据库中

javascript - 具有隔离范围的 AngularJS 表单验证

c# - 派生类型的 FluentValidation SetCollectionValidator

ruby-on-rails - 相互依赖的制造 gem 协会

ruby-on-rails - 在ror中搜索数据库

ruby-on-rails - Rails - 从另一个模型中创建一个模型的实例

ruby-on-rails - 如何永久设置 RAILS_ENV

javascript - 跨域 jquery ajax 未获取 json

php - 网上有PHP验证站点或测试站点吗?