2016-03-31 1 views
0

以下のパラメータをlink_toで渡そうとしていますが、paramsを使用してコントローラでこれを読み取る方法を理解できません。コントローラでlink_toパラメータを読み取る方法

<%= link_to "Remove", user_path(:task => {:id => task.id}), :method => :delete, :data => {:confirm => "You Sure?"} %> 

コンソールからパラメータ(私はXXXと真正トークンを置き換える)

Parameters: {"authenticity_token"=>"XXX", "task"=>{"id"=>"1"}, "id"=>"1"} 

"task"=>{"id"=>"1"} - これはあなたがハッシュ内のハッシュを持って、私はuser_controller

答えて

1

からアクセスしようとしていますパラメータであり、 paramsで試してみてください。UsersController -

params[:task][:id]

+0

を取得するのparams![:タスク] [:ID] .nilパラメータが渡されなかった場合、「?」は私にエラーを投げています。しかし、それが無ければ別のアクションを実行する必要があります。どうすればコントローラーで確認できますか? – Trishj

+0

はい、このエラーは 'params [:task]'がないときにスローされます。だから、それが存在するかどうかだけをチェックすることができます。 params [:task] && params [:task] [:id] .present? 'のように記述します。 – dp7

0

パラメータは(キー、値)のペアにあるハッシュで渡されます。値を読み取るためにキーを渡す必要があります。 [:タスク] [:ID]あなただけ

のparams行う必要があり

を、あなたは ` "1"

関連する問題