2017-03-10 10 views
0

内のparamsフィールドを使用して、私は私がどのようにテストするために、コード内のデバッグブレークポイントを設定するとlocation_paramsのRailsのparams属性を - コントローラ

def location_params 
    params.require(:location).permit(:country, {:ads_attributes => [:remote, :days]}) 
    end 

という名前の私のdevelopers_controllerで、次の強いのparamsを持っていますフィールドを使用するには:コンソールに次のコードを使用する必要があります。

location_params[:ads_attributes]["2"][:remote] 

私はこの["2"]インデックスを削除する方法を理解していません。私はstackoverflowの上で検索を行いましたlocation_params[:ads_attributes]

<ActionController::Parameters 
{"0"=><ActionController::Parameters {} permitted: true>, 
"1"=><ActionController::Parameters {"days"=>"12"} permitted: true>, 
"2"=><ActionController::Parameters {"remote"=>"1"} permitted: true>} 
permitted: true> 

からこれは、コンソールの結果であり、次のコードlocation_params[:ads_attributes][:remote]

paramsを選択したいと私は、この特定の問題への解決策を見つけることができませんでしたインデックスと一緒に。

+0

問題がありますあなたのフォームで。それがデータを送信する方法です。 paramsに別のシェイプを付ける場合は、フォームを変更します。 –

+0

助けてくれてありがとう –

答えて

0

私はここでこれらの数字を追加した、フォームビューを修正するために、より良いrecommentう:

<%= link_to_add_association "Add another", f, :ads %> 
<%= f.fields_for :ads do |ff| %> 
     <%= ff.form_group ::remote do |ad| %> 
      <%= ad.label :remote %> * 
      <%= ad.text_field :remote %> 
     <% end %> 
     <%= ff.form_group :days do |ad| %> 
      <%= ad.label :days %> * 
      <%= ad.text_field :days %> 
     <% end %> 
     <%= link_to_remove_association "remove", ff %> 
<% end %> 
+0

助けてくれてありがとう –

関連する問題