尝试路由:
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。
其他人可以确认这是一个错误吗?