ruby-on-rails - 为什么 rails 资源不生成编辑和新路径?
问题描述
我有一个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 应用程序重现。
解决方案
看起来你有一个 api_only 应用程序。在这种情况下,Rails 省略了编辑和新路径。见:https ://github.com/rails/rails/blob/fc5dd0b85189811062c85520fd70de8389b55aeb/actionpack/lib/action_dispatch/routing/mapper.rb#L1230
推荐阅读
- arrays - [string[]] 参数与读取主机行为
- azure - 如何在 ADF 中使用作业控制文件或 0 kb 文件(fin)跟踪复制活动?
- powerbi - 计算案例在两个日期之间处于活动状态的天数
- docker - 当 Apache 在 docker 中运行时自动化 letencrypt
- d3.js - 将最后一个刻度格式化为 24:00 而不是 00:00
- reactjs - 如何正确使用带有问号的 if else?
- java - gRPC java spring 服务器“错误”:“2 UNKNOWN:流已删除”
- html - 如何获取父类之外的元素
- flutter - 全局变量或单例在刷新后失去其值(重置)
- javascript - 如何检查对象是否具有某些属性