为什么Rails资源不生成编辑路径和新路径?

时间:2018-11-30 09:13:36

标签: ruby-on-rails url-routing

我有一个PasswordsController来处理密码恢复,我想将其作为单个资源进行路由。

来自路由器的代码:

resource :password

我要使用生成的路由,如下所示:

/password/new    # User enters email
/password/create # Send email with link to password edit form with token
/password/edit   # User edits password
/password/update # Password is changed

但是出于某些原因,rails仅生成以下路线:

password GET    /password(.:format) passwords#show
         PATCH  /password(.:format) passwords#update
         PUT    /password(.:format) passwords#update
         DELETE /password(.:format) passwords#destroy
         POST   /password(.:format) passwords#create

根据文档,还应该有一个edit路径和一个new路径。

他们为什么失踪?

(这是5.2.1.1的导轨)

编辑:如评论中所述,问题必须出在我应用程序的配置中,因为使用干净的Rails应用程序无法重现此问题。

1 个答案:

答案 0 :(得分:5)

您似乎有一个api_only应用。 在这种情况下,Rails省略了编辑和新路径。 参见:https://github.com/rails/rails/blob/fc5dd0b85189811062c85520fd70de8389b55aeb/actionpack/lib/action_dispatch/routing/mapper.rb#L1230