2016-05-22 5 views
1

ich von Schienen komme und ich versuche somthing ähnlich wie dies in Phoenix acheiveFügen Sie einen neuen Pfad innerhalb Ressourcen Route

resources :sessions, only: [:new, :index] do 
    collection do 
    post 'claim', to: 'sessions#claim' 
    end 
end 

Dies ist das beste, das ich

resources "/session", SessionController, only: [:index, :new] 
post "/session/slackLogin", SessionController, :slackLogin 

ich tun konnte, versucht, collection do end in Ressourcen "/ Sitzungen" hinzuzufügen, aber es wurde ein Fehler angezeigt. Gibt es einen besseren Weg dazu?

+0

Wäre '' '' '' nicht '' sessions /: id/claim' hier zu erstellen? Wenn ja, das ist ein Duplikat von http://stackoverflow.com/questions/37267375/is-there-any-way-to-define-custom-routes-in-phoenix/ – Dogbert

+0

@Dogbert bearbeitet die Frage, eigentlich brauche ich Eine Sammlung – coderVishal

Antwort

4

Ich denke, Sie haben Ihre eigene Frage beantwortet.

post "/sessions/slackLogin", SessionController, :slackLogin 
resources "/sessions", SessionController, only: [:index, :new] 

Sollte gut funktionieren.

+3

Ausgenommen, die 'post'-Route sollte * vor *' resources' verschoben werden, andernfalls wird durch das Posten auf dieser Route die 'update'-Aktion mit dem' id'-Parameter 'slackLogin' aufgerufen. Ansonsten ist dies der richtige Weg! –

+0

@ PawełDawczak Guter Fang, danke :) – JustMichael

Verwandte Themen