Question

J'ai un contrôleur qui a une méthode appelée history

class UsersController < ApplicationController

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

end

J'ai les éléments suivants dans mon fichier 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

Comment puis-je essayer d'appeler Ajax avec la méthode d'historique du users_controller.rb ? Utilisation de link_to_remote de la manière suivante

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

renvoie une erreur en disant que chemin_utilisateur_historique () est introuvable. Comment se peut-il? edit_user_path () n'affiche aucune erreur et edit n'est même pas explicitement défini dans le fichier User.rb. Merci.

Était-ce utile?

La solution

mapresources: les utilisateurs créent un ensemble de méthodes d'assistance url / path, y compris edit_users_path. Si tu as besoin des autres. vous devez l'ajouter en tant qu'option: membre ou option de collection pour map.resources.

Cela vous permettra de faire ce que vous voulez:

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top