2009-10-30 2 views
0

У меня есть контроллер, который имеет метод называется историеймаршрутизация адрес и путь в рельсах

class UsersController < ApplicationController 

    def history 
    User.return_history(params[:id]) 
    end 

end 

У меня есть следующий в моем routes.rb файле

map.resources :users, :shallow => true do |user| 
    user.resources :friends, :shallow => false 
    user.resources :posts, :collection=>{:no_access => :get} 
    user.resources :photos 
end 

Как я пытаюсь Ajax вызова метод истории users_controller.rb? Использование link_to_remote следующим образом

link_to_remote 'History', :url=>history_user_path(@user), :update=>"history", :method=>'get' 

бросает мне ошибку говоря history_user_path() не найден. Как это может быть? edit_user_path() показывает, что в файле User.rb ошибки и изменения даже не определены явно. Благодарю.

ответ

2

mapresources: пользователи создают связку методов hello/path helper, включая edit_users_path. Если вам нужны другие. вы должны добавить его как вариант: member или: collection для map.resources.

Это позволит вам делать то, что вы хотите:

map.resources :users, :shallow => true, :member => {:history => :get} do |user| 
    user.resources :friends, :shallow => false 
    user.resources :posts, :collection=>{:no_access => :get} 
    user.resources :photos 
end 
Смежные вопросы