Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 为什么rails资源不生成编辑和新路径?_Ruby On Rails_Url Routing - Fatal编程技术网

Ruby on rails 为什么rails资源不生成编辑和新路径?

Ruby on rails 为什么rails资源不生成编辑和新路径?,ruby-on-rails,url-routing,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 /passwor

我有一个
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
根据文档,还应该有一个
编辑
路径和一个
新建
路径

他们为什么失踪

(这是rails 5.2.1.1)


编辑:如评论中所述,问题一定存在于我的应用程序的配置中,因为这在干净的rails应用程序中是不可复制的。

看起来你有一个只使用api的应用程序。 在这种情况下,Rails忽略了编辑和新建路径。
请参阅:

@AjayBarot:您链接的答案是
资源
应该生成新的/编辑路由。你想说什么?无法在全新的rails 5.2.1.1应用程序中复制。我看到所有6条路线。您代码中的其他内容正在干扰。@SergioTulentsev是的,可能是我的应用程序中的某些设置。我只是不知道会是什么。我已经用一个新rails应用程序中的development.rb对它进行了测试。没有成功。啊,好发现。新建/编辑路由在api中确实没有意义。就是这样!我完全错过了。但这一行为似乎也没有被记录在案。@lukad:但它需要被记录在案吗?在没有GUI的纯api应用程序中,您将使用
edit
做什么?它的全部目的是呈现空白形式。所以rails就像在许多其他情况下一样,悄悄地做了正确的事情。@SergioTulentsev在我尝试添加此功能之前,该应用程序一直是一个严格的API专用应用程序。所以这肯定是一个边缘案例,但记录它不会有什么坏处。我会检查一下我是否可以为此创建一个PR。