2011-03-08 140 views
1

立足這一功能關閉瑞恩·貝茨Nested Model Form教程,當我提出我的形式,我這有一組數據的提交了,:Rails:忽略具有特定名稱的嵌套屬性?

{ 
    "authenticity_token"=>"mdohADjieoqUwOwUK/H52TAiH5HdFYQtTbTuMJtDJE8=", 
    "utf8"=>"✓", 
    "id"=>"92", 
    "survey"=> 
    { 
     "questions_attributes"=> 
     { 
      "1299616889104"=> 
      { 
       "display_type"=>"", 
       "text"=>"", 
       "other"=>"0", 
       "display_order"=>"0", 
       "answer_choices"=>"", 
       "item_type"=>"multiple_choice" 
      }, 
      "new_questions"=> 
      { 
       "display_type"=>"compare", 
       "pick"=>"one", 
       "text"=>"", 
       "other"=>"0", 
       "display_order"=>"0", 
       "answer_choices"=>"", 
       "item_type"=>"compare" 
      } 
     }, 
     "id"=>"92" 
    } 
} 

我需要弄清楚如何做的是忽略new_questions節。我知道你可以添加reject_ifaccepts_nested_attributes_for,但是有隱藏的字段被包含並預填充數據,所以我不能忽略基於空字段。

那麼如何在我的示例數據中忽略new_questions

我正在運行Rails 3.0.3

回答

0

我會看看使用條件驗證。繼承人railscast對它的密碼處理,但你可以很容易地適應你的情況相似的東西

+0

對不起,我沒有真正遵循如何實現這與'accept_nested_attributes_for' – Shpigford 2011-03-10 02:35:55

+0

它可能我錯誤地解釋了你的問題,但我以爲你想忽略這個領域,因爲它與你的驗證混淆了,不是嗎?在這種情況下,添加條件驗證將允許您忽略該字段,除非您指定在使用模型時應將其考慮在內 – 2011-03-10 02:49:17

+0

我們正在使用'accepts_nested_attributes_for'這一事實我認爲需要改變。據我所知,我無法找到一種方法來檢測「new_questions」的存在,就像編寫一個簡單的條件驗證一樣,這是一個問題。 – Shpigford 2011-03-10 14:58:56