маршрутизация URL-адресов и путей в рельсах - PullRequest
0 голосов
/ 30 октября 2009

У меня есть контроллер, у которого есть метод с именем history

class UsersController < ApplicationController

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

end

У меня в файле rout.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. Спасибо.

1 Ответ

2 голосов
/ 30 октября 2009

mapresources: пользователи создают несколько вспомогательных методов url / path, включая 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...