ruby-on-rails - Rails 6 路线 - 如何添加自定义“新”路线?
问题描述
我想添加一个自定义的 rails 路线 - 默认方式是这样的:
/cars/new
我想保持这条路线可用,并且还想添加这样的路线:
/cars/new/:manufacturer_slug
然后只是在视图/控制器中检查参数中的内容并基于该显示不同的内容。
我怎么做?
我试图通过资源添加它,比如
resources :end do
get 'new/:manufacturer_slug', to: 'cars#new'
end
或者
resources :end do
member do
get 'new/:manufacturer_slug', to: 'cars#new'
end
end
但是这两个版本都不起作用-在这两种情况下,我都会收到有关错误 URL 的错误。
解决方案
resources :cars do
collection do
get 'new/:manufacturer_slug', to: 'cars#new'
end
end
或者
get 'cars/new/:manufacturer_slug', to: 'cars#new'
用 . 检查结果rails routes
。
或者您可以在 url 末尾添加参数:
/cars/new?manufacturer_slug=anything
推荐阅读
- javascript - Omeka 中的 JavaScript 手风琴
- html - 在 HTML 中使用阿拉伯字母的有序项目符号列表
- c++ - 在 GDB 中打印变量似乎会改变代码行为?
- java - java中未知长度数组的条件
- regex - 在Scala中为字符串添加双引号
- spring - Spring Boot + HikariCP - 自动配置数据源的非确定性失败
- python - 将重叠 DNA 区域转换为变量,然后改变重叠区域的长度
- javascript - 在 ToneJS API 中更改音量设置
- python - 在熊猫中计算最重复的一对
- linux - 如何编写循环相似字符的脚本以执行函数?