2016-04-25 8 views
0

I`mはアヤックス行うにリダイレクトしようとし、誤ったコントローラのアクションを使用しているレールの私のカスタムコントローラアクション 'on_clan_change' ..は、Ajaxのリダイレクトが

この機能によって

I`m呼び出す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 "https://stackoverflow.com/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アクションを使用している実行されたとき。それは私にデフォルトとしてショーアクションを与えるように見えます。しかし、ルートが正しいと思われるので、なぜそれが間違ったアクションを使用しているのか分かりません。

答えて

0

このリンクを設定するための適切な方法は以下のとおりであった:

resources :users, only: [:show, :index] do 
    resources :characters do 
     collection do 
     get 'on_clan_change' 
     end 
    end 
    end 
関連する問題