0
我在我的控制器使用此:如何将这些Rails4参数白名单列表?
def step_params
params.require(@type.underscore.to_sym).permit(
:id, :name, :note, :position, :institution_id, :protocol_id, :sequence_id,:orientation_id,
step_item_attributes: [:id, :note, :name, :position, :institution_id, :sequence_id, :orientation_id, :_destroy ],
step_list_attributes: [:id, :note, :name, :position, :institution_id, :sequence_id, :orientation_id, :_destroy ])
end
而且看到这个在服务器日志与嵌套属性的表单后提交:
Processing by StepsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"Xm6oMMJ2PLXhHfKS1RkIzG5LrCUAY6vLOF+e9XHgBE4=", "step_list"=>{"name"=>"bob bob", "note"=>"", "step_items_attributes"=>{"1411264481612"=>{"name"=>"", "orientation_id"=>"1", "sequence_id"=>"1", "note"=>"a note", "_destroy"=>"false"}}}, "commit"=>"Create Step list", "type"=>"StepList"}
User Load (0.4ms) SELECT "users".* FROM "users" WHERE "users"."id" = 1 ORDER BY "users"."id" ASC LIMIT 1
Unpermitted parameters: step_items_attributes
(0.1ms) begin transaction
SQL (0.7ms) INSERT INTO "steps" ("created_at", "institution_id", "name", "note", "updated_at") VALUES (?, ?, ?, ?, ?) [["created_at", "2014-09-21 01:54:49.736556"], ["institution_id", 18], ["name", "bob bob"], ["note", ""], ["updated_at", "2014-09-21 01:54:49.736556"]]
(37.5ms) commit transaction
Redirected to http://localhost:3000/steps/54
Completed 302 Found in 47ms (ActiveRecord: 38.7ms)
在我看来就像“不允许的参数:step_items_attributes”
...是问题所在。
为什么我的permit方法不允许step_items_attributes散列?我怎么能找出其他符号可能工作?
哦,我的天啊。谢谢。 – 2014-09-21 14:39:52
FWIW,我也在同一个控制器中创建动作时遇到了麻烦。我的错误是产生了错误的类的对象。当我不仔细阅读时,会导致另一个类似的错误。解决这两个问题的事情再次运作。谢谢。 – 2014-09-21 14:41:19
oops。没有了。我不得不按照这些有序的指示去理解:http://patshaughnessy.net/2014/6/16/a-rule-of-thumb-for-strong-parameters – 2014-09-22 18:03:59