2016-05-22 3 views
1

гряду с рельсов, и я пытаюсь Somthing получения идеальной, похожее на это в фениксДобавить новый путь внутри маршрута ресурсов

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

Это лучшее, что я мог бы сделать

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

I попробовал добавить collection do end внутри ресурсов "/ sessions", но получал ошибку. Есть ли лучший способ этого?

+0

Не будет 'member' создавать маршрут как'/sessions /: id/Claim' здесь? Если это так, это дубликат http://stackoverflow.com/questions/37267375/is-there-any-way-to-define-custom-routes-in-phoenix/ – Dogbert

+0

@Dogbert редактировал вопрос, на самом деле мне нужно сбор – coderVishal

ответ

4

Я думаю, что вы ответили на свой вопрос.

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

Должно работать нормально.

+3

За исключением того, что маршрут 'post' должен быть перемещен * перед *' ресурсами', иначе отправка на этот маршрут приведет к доступу к действию 'update' с параметром' id' 'slackLogin'. В противном случае это путь! –

+0

@ PawełDawczak Хороший улов, спасибо :) – JustMichael

Смежные вопросы