我有一個嵌套窗體,其中每個帖子都有很多位置。問題是,如果用戶創建一個位置,然後將其留空,它會用空白數據填充我的表格。: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)。不知道這是否會造成麻煩 –