【问题标题】:Add a new path inside resources route在资源路由中添加新路径
【发布时间】:2016-05-23 12:05:47
【问题描述】:

我来自 Rails,我正在尝试在 phoenix 中实现类似的目标

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

我尝试在资源“/sessions”中添加collection do end,但出现错误。有没有更好的方法?

【问题讨论】:

  • member 不会在这里创建类似/sessions/:id/claim 的路线吗?如果是这样,这是stackoverflow.com/questions/37267375/… 的副本
  • @Dogbert 编辑了问题,其实我需要一个收藏

标签: elixir phoenix-framework


【解决方案1】:

我想你已经回答了你自己的问题。

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

应该可以正常工作。

【讨论】:

  • 除了,post 路由应该被移动 before resources,否则发布到该路由将导致访问带有id 参数的update 操作slackLogin。否则这是要走的路!
猜你喜欢
  • 1970-01-01
  • 2016-08-16
  • 2017-04-13
  • 1970-01-01
  • 2013-08-08
  • 2015-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多