ruby-on-rails - Rails 5 使用 :id 向 REST 路由添加自定义操作
问题描述
在我的 Rails 5 应用程序中,我有一个 REST 控制器的路由:
resources :payments
我想为资源添加一个新的行动支付,所以我放了:
resources :payments do
get 'pay'
end
我的原始路线看起来像这样:
/payments/:id/edit
自定义路由使用 :payment_id 而不是 :id
/payments/:payment_id/pay
如何将路线更改为:
payments/:id/pay
?
我需要这个,因为 CanCanCan 会自动在控制器中设置付款,但会查找 :id 而不是 :payment_id
解决方案
resources :payments do
get 'pay', on: :member
end
如此处所述。
推荐阅读
- xamarin - Xamarin Essentials 地理位置极其不准确的位置
- python - 如何为 streamlit 构建包
- javascript - 代码没有错误,但当用户单击无效单元格时不显示错误消息
- python-3.x - 为什么我会收到:“从未检索到未来异常”错误
- postgresql - PostgreSQL - 慢计数
- git - git blame:计算开发人员贡献的字符数量(跟踪重命名)
- c# - 了解方差(逆变)
- python - 使用 ExecuteStreamCommand NIFI 通过 Windows 批处理文件运行 python 脚本
- swiftui - SwiftUI - 在 UITests 中找不到 EnvironmentObject
- powershell - get-eventlog 每次运行返回不同的结果