2017-02-16 13 views
0

私は次のように見えることapp/views/shared/stage_items/_destroy.html.erb部分を持っている:なぜ名前でないのですか:属性はパラメータ内の#destroyアクションになりますか?

<%= link_to 'Remove', stage_item_path(stage_item), name: "request_origin[#{controller.controller_name}]", method: :delete %> 

それはStageItems#destroyアクションに当たったとき、私はのparamsで見つける"request_origin"を期待していました。私はそこbinding.pryを設定し、pparamsをエドが、それはありません。

[2] pry(#<StageItemsController>)> pp params 
{"_method"=>"delete", 
"authenticity_token"=> 
    "1UaOESQFsvDwkZ5QQReS91UVmacmM8FpsV5O+mSoEwPRiS2JvfTNPCLDJlPSjo1XLwSGR5gWtj9IqoNIAp/Z9A==", 
"controller"=>"stage_items", 
"action"=>"destroy", 
"id"=>"8"} 

は、私がレンダリングされたHTMLを見て、name属性があります:なぜそれをしていない"request_origin"

<a name="request_origin[stage_batches]" rel="nofollow" data-method="delete" href="/stage_items/8">Remove</a> 

params内の#destroyアクションに移動しますか?

答えて

2

あなたがパスにそれらを渡すことで、余分なのparamsをゲットすることができます。

<%= link_to 'Remove', stage_item_path(:id => stage_item.id, :name => "request_origin[#{controller.controller_name}]"), method: :delete %> 
関連する問題