rails ajax redirect使用了错误的控制器操作

时间:2016-04-25 20:06:43

标签: ruby-on-rails ajax routes

我正在尝试将ajax重定向到我的'on_clan_change'自定义控制器操作..

我通过这个函数调用ajax:

$(document).on 'change', '#character_clan_id', ->
  $.ajax
    url: 'on_clan_change'
    type: 'GET'
    dataType: 'script'
    data: {
      clan_id: $("#character_clan_id option:selected").val() }

它会生成如下链接:

Started GET "/users/1/characters/on_clan_change?clan_id=101&_=1461614074287"

我设置了这样的路线:

  resources :users, only: [:show, :index] do
    resources :characters
    get 'characters/on_clan_change', to: 'characters#on_clan_change'
  end

从我的佣金路线:

 user_on_clan_change GET    /users/:user_id/characters/on_clan_change(.:format)         characters#on_clan_change

在我的角色控制器中,我有一个已定义的函数on_clan_change

但是,当重定向完成时,它正在使用characters#show操作。它看起来像是默认显示操作。但由于路线似乎是正确的,我不知道它为什么使用错误的动作。

1 个答案:

答案 0 :(得分:0)

设置此链接的正确方法是:

<table>
    {% for x in range(search_query | int) %}
        <tr>
            <td>
                <input type="text" value="{{ x }}">
            </td>
        </tr>
    {% endfor %}
</table>