Routing-URLs und Pfade in Schienen
-
22-07-2019 - |
Frage
Ich habe eine Steuerung, die eine Methode namens Geschichte
class UsersController < ApplicationController
def history
User.return_history(params[:id])
end
end
Ich habe folgendes in meiner routes.rb Datei
map.resources :users, :shallow => true do |user|
user.resources :friends, :shallow => false
user.resources :posts, :collection=>{:no_access => :get}
user.resources :photos
end
Wie ich versuche zu Ajax der Geschichte Methode des users_controller.rb
nennen? Mit link_to_remote
in der folgenden Art und Weise
link_to_remote 'History', :url=>history_user_path(@user), :update=>"history", :method=>'get'
wirft mir ein Fehler zu sagen history_user_path()
nicht gefunden. Wie kann das sein? edit_user_path()
zeigt keine Fehler und bearbeiten ist nicht einmal explizit in der User.rb-Datei definiert. Danke.
Lösung
mapresources: Benutzer erstellt eine Reihe von URL / Pfad Hilfsmethoden, einschließlich edit_users_path. Wenn Sie andere benötigen. Sie haben es als hinzuzufügen, entweder ein: Mitglied, oder: für map.resources Sammlung Option.
So können Sie tun, was Sie wollen:
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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow