Ruby on rails 接受\u嵌套的\u属性\u以忽略空白值

Ruby on rails 接受\u嵌套的\u属性\u以忽略空白值,ruby-on-rails,ruby,nested-attributes,ignore,Ruby On Rails,Ruby,Nested Attributes,Ignore,我有 我有一个动态表单,您可以按“+”添加新的文本区域以创建新的收藏夹。 我想做的是忽略空白,我发现在更新控制器中比非嵌套属性更难排序。 我暂时遇到的是在“保存后”回调中删除空记录的黑客攻击。忽略这些空白对象最有效的方法是什么 我不需要验证和错误,只需要无声删除/忽略。有一个内置的验证: class Profile has_many :favorite_books, :dependent => :destroy has_many :favorite_quotes, :depende

我有

我有一个动态表单,您可以按“+”添加新的文本区域以创建新的收藏夹。 我想做的是忽略空白,我发现在更新控制器中比非嵌套属性更难排序。 我暂时遇到的是在“保存后”回调中删除空记录的黑客攻击。忽略这些空白对象最有效的方法是什么


我不需要验证和错误,只需要无声删除/忽略。

有一个内置的验证:

class Profile
  has_many :favorite_books, :dependent => :destroy
  has_many :favorite_quotes, :dependent => :destroy

  accepts_nested_attributes_for :favorite_books, :allow_destroy => true
  accepts_nested_attributes_for :favorite_quotes, :allow_destroy => true
end

非常好的提示,谢谢!因此,我发现(对于正在阅读的其他人来说)“您还可以设置一个:reject_if proc,如果新记录哈希未能通过您的标准,则它将自动忽略这些哈希。例如,前面的示例可以重写为:“-Rails 5 has
reject_if::all_blank
”。我不知道这是最近在Rails 5中引入的,还是在较旧的框架版本中也可以使用。如果我不想
拒绝
?我想
创建
/
更新
配置文件,但不包含
收藏的引用
收藏的书籍
。这是不允许的。
:reject_if => lambda { |c| c[:name].blank? },