小编Mav*_*ick的帖子

form_for 的路由范围问题(部分)

尝试路由:

scope :shortcut do
 resources :text_elems
end
Run Code Online (Sandbox Code Playgroud)

使用带有表单部分的基本脚手架

*_form.html.erb*
<%= form_for(@text_elem, :shortcut => @shortcut) do |f| %> 
...
Run Code Online (Sandbox Code Playgroud)

问题是:当我调用编辑操作时,表单 html 显示为:

<form ... action="/25/text_elems/25">
Run Code Online (Sandbox Code Playgroud)

注:动作正确呈现形式的行动:

<form ... action="/home/text_elems">
Run Code Online (Sandbox Code Playgroud)

因此,当 form_for 处理它的块时,我的 :shortcut 参数似乎被 :id 参数打败了。现在,如果我在 form_for 块中手动设置 :url => {...} ,我可以使用 :shortcut 参数正确路由操作,但我更愿意保持代码干燥,另外我想报告如果它确实是一个错误,这个问题就交给rails。

其他人可以确认这是一个错误吗?

routing scope ruby-on-rails form-for

5
推荐指数
1
解决办法
1659
查看次数

标签 统计

form-for ×1

routing ×1

ruby-on-rails ×1

scope ×1