我在Rails中創建了一個嵌套模型,但是我希望將字段添加到控制器中的嵌套模型中。我沒有使用hidden_field_tag,因爲它可能被篡改。在Rails中修改參數哈希值
這裏是我的PARAMS哈希:
Parameters: {"dummy"=>{"users_attributes"=>{"0"=>{"email"=>"[email protected]", "id"=>"", "_destroy"=>"false"}, "1"=>{"email"=>"[email protected]", "id"=>"", "_destroy"=>"false"}}}, "commit"=>"Create Dummy"}
我想是因爲有被稱爲companyid每個user_attributes下一個字段。比方說,我想companyid是「公司」,那麼我認爲這會工作:
len = params["dummy"]["users_attributes"].size
counter = 0
while counter < len
params["dummy"]["users_attributes"][counter]["companyid" => "company"]
counter = counter + 1
end
但是,我得到「未定義的方法`[]」爲無:NilClass」錯誤的,而第一線循環。我不完全確定爲什麼。
有人可以幫助我,所以我可以修改參數哈希?編輯: 所以,我終於弄明白了。我沒有真正使用任何解決方案。首先,我爲companyid設置一個hidden_field標記爲空白。然後,在我的控制,我把:
params["dummy"]["users_attributes"].each do |key, val|
params["dummy"]["users_attributes"][key]["companyid"] = "company"
end
不是最優雅的代碼,但它會工作。
我給你的檢查,因爲你深入討論隱藏領域讓我找出解決方案。謝謝! – NielMalhotra 2012-03-20 20:54:56
我缺乏正確性,我彌補了冗長。我應該是一名Java程序員! (哦,等等,我是)。那麼,解決方案是什麼? – 2012-03-20 23:48:20
它在原始文章的編輯中:f.hidden_field:表單中的companyid,然後是上面的代碼片段 – NielMalhotra 2012-03-21 05:38:41