ruby-on-rails - Rails在保存之前验证 child

标签 ruby-on-rails ruby-on-rails-4 nested-forms

我有一个通常的嵌套模型

class Parent
  has_one :child
  accepts_nested_attributes_for :child
end

class Child
  belongs_to :parent

  validate :name, :presence => true
end

如果我尝试保存一个没有名字的 child ,那是被禁止的,但是如果我保存一个嵌套有 child 的 parent ,则忽略验证。

我不想用:reject_if重复我的 child 验证。

我如何验证 child ,并且只有在 child 有效的情况下,才能将 parent 与 child 一起保存?

最佳答案

您应该使用 validates_associated :

class Parent
  has_one :child
  accepts_nested_attributes_for :child
  validates_associated :child
end

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

相关文章:

ruby-on-rails - heroku运行控制台返回 'Error connecting to process'

ruby-on-rails - Devise 中两种截然不同的用户模型

javascript - 如何编写一个简洁的 JS if else 语句来通过 Cocoon 动态添加嵌套的 Rails simple_form?

javascript - Rails Bootstrap Active 类(带排序)

ruby-on-rails - rails 3.1,为什么使用 Heroku 日志时证书验证失败?

ruby-on-rails - Rails Controller 命名空间/模块配置

ruby-on-rails - Rails 4 Assets 管道未找到预编译 CSS 文件

ruby-on-rails - rails 以茧的形式嵌套。使用模型的属性

ruby-on-rails - Rails - Simple Form Bootstrap - 显示内联错误的全文 -(或任何地方)

ruby-on-rails - 具有嵌套属性的Rails表单(accepts_nested_attributes_for)