0

ジェネリックhtmlとjsonの2つの応答が必要なコントローラーがあります。私の見解では、私は言われたjsonへのリンクが欲しいです。私はapidocで見ました、誰かがあなたがこのような何かをすることによってlink_toのフォーマットを指定することを達成すると言いました。

<h3><%= link_to "Indexes" , 
        params.merge({:format => "json"}) , 
       state_laws_path %></h3>

ただし、このリンクが配置されているページ(state_laws / index.html.erb)にアクセスするたびに、次のエラーが発生します。

undefined method `stringify_keys' for "/state_laws":String

Extracted source (around line #3):
1: <h2>State Laws</h2>
2: <h3><%= link_to "Create State Law", new_state_law_path %></h3>
3: <h3><%= link_to "Indexes" , 
           params.merge({:format => "json"}) , 
           state_laws_path %>    </h3>
4: <ul id="state_laws">
5:   <% @state_laws.each do |law| %>
6:       <li class="<%= cycle("odd", "even") %>">

json形式を使用してコントローラーのインデックスアクションに移動するリンクが必要であるという私の見解をどのように伝えることができるかについて誰かが考えていますか?どんな助けでも大歓迎です。

4

1 に答える 1

3

これを試して:

<%= link_to "Indexes", state_laws_path(params.merge(:format => "json")) %>

パラメータをメソッドに渡すと、パラメータをstate_laws_path含むURLが返されます。たとえば、パラメータにが含まれてい{:foo => "bar"}て、state_laws_pathが"/state_laws"である場合、上記の呼び出しはパスを返します"/state_laws.json?foo=bar"

于 2012-10-05T03:03:50.587 に答える