2

Rails バージョン 2.3.8 で作業しています Hash => agent_list = [[5, "val"], [4, "val"], [3, "val"], [1, "val"]]

<%= link_to_remote "Click Here", 
        :url => {
        :controller => "controller", 
        :action => "method",
        :id => @p_id,
        :hash_list => hash_list
        },
        :method => 'post' %>

生成されるリンクは次のとおりです。

[http://localhost/controller/method/12?hash_list%5B%5D%5B%5D=5&hash_list%5B%5D%5B%5D=val&hash_list%5B%5D%5B%5D=4&hash_list%5B%5D%5B %5D=val&hash_list%5B%5D%5B%5D=3&hash_list%5B%5D%5B%5D=val&hash_list%5B%5D%5B%5D=1&hash_list%5B%5D%5B%5D=val]

http://localhost/controller/method/12?hash_list=[hash_list] のようなものを取得する正しい方法を教えてください。

コントローラーメソッドで params[:agent_list] として使用できるようにします。

PS申し訳ありませんが、それは初心者の質問です。

4

2 に答える 2

1

アクションへのルートを作成します。routes.rbまだ作成されていない場合は、次のようにします。

<%= link_to "Click here", my_route_path(@obj, :hash => { :foo => "bar" }), :remote => true, :method => :post %>

テストされていませんが、うまくいくはずです。提供している場合remote: true、URL がどのように見えるかは問題ではありません。ハッシュはparams[:hash]コントローラーに存在する必要があります。

link_to_remoteRails 3 以降では非推奨です。

レール 2.3.8:

<%= link_to_remote "Click here", :url => my_route_path(@obj, :hash => { :foo => "bar" }), :method => :post %>
于 2012-12-17T17:18:33.780 に答える