我有一个嵌套窗体,其中每个帖子都有很多位置。问题是,如果用户创建一个位置,然后将其留空,它会用空白数据填充我的表格。:reject_if嵌套属性上的空白
我认为这将做它在我的post.rb
模型:
accepts_nested_attributes_for :locations, :allow_destroy => true, :reject_if => proc { |attributes| attributes['name'].blank? }
但他们仍然通过打滑,当被保存的空白。任何想法为什么?
编辑:这是在意见中的要求哈希:
Parameters: {"utf8"=>"✓","authenticity_token"=>"r74iCzC4tJgVI6FiCEH7XzfiTmaqKihF5JSs7Ow3MSI=", "post"=>{"title"=>"This is a test blog post fo
r stack overflow", "body"=>"This is a test blog post for stack overflow", "tag_list"=>"", "locations_attributes"=>{"0"=>{"name"=>"London", "long
itude"=>"-0.1276831", "latitude"=>"51.5073346"}, "1354382846976"=>{"name"=>"Paris", "longitude"=>"2.3522219", "latitude"=>"48.856614"}, "1354382
849464"=>{"name"=>"", "longitude"=>"", "latitude"=>""}, "1354382850624"=>{"name"=>"", "longitude"=>"", "latitude"=>""}}}, "_wysihtml5_mode"=>"1"
, "name"=>"", "legname"=>"Paris", "longitude"=>"2.3522219", "latitude"=>"48.856614", "commit"=>"Submit"}
你可以发表你用来创建邮政的参数哈希?我的猜测是,它开始时是畸形的。你知道使用accept_nested_attributes也会自动保存关联,无论你保存文章,运行验证?请参阅:http://api.rubyonrails.org/classes/ActiveRecord/AutosaveAssociation.html –
谢谢!是的,我猜这是因为我在我的创建函数中做了一些非常时髦的东西,它改变了属性,因此可以检查它们的唯一性。我认为现在回到制图板。我已经发布了散列,以防万一有什么来找你! –
你的位置属性很奇怪。它不应该是一个散列,它应该是一个散列数组(参见http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html)。不知道这是否会造成麻烦 –