2016-08-03 7 views
-1

は、私はこのようなカスタムコントローラのアクションにユーザーをリダイレクトしています:それは正常に動作しますレール5のコントローラアクションで値を渡すには?

<%= link_to url_for(:controller => :jobs, :action => :saved) do %>Saved Jobs<% end %> 

、今私は、「保存」アクションにいくつかの値を渡したいです。 これを行う方法がありますか?

+0

これはRailsの動作ではありません。リンクを介してパラメータを渡す場合は、そのパラメータをクエリ文字列に入れます。 – meagar

答えて

3

あなたは、あなたがやっているように、ページをリロードすることにより、直接、フォームを送信したい場合は、バックグラウンドからAJAX呼び出しを通してそれを送信したい場合は、:remote => trueを追加

<%= link_to url_for(:controller => :jobs, :action => :saved, method: :post, :email => "value") do %>Saved Jobs<% end %> 

、この

をお試しくださいフォームに、

<%= link_to url_for(:controller => :jobs, :action => :saved, method: :post, :email => "value", :remote => true) do %>Saved Jobs<% end %> 

そしてコントローラで

@email = params[:email] 
+0

単純にremote:trueを追加すると、ブラウザのURLにパラメータを表示せずにリモートで処理できるようになります –

関連する問題