尝试路由:
scope :shortcut do
resources :text_elems
end
使用带有表单部分的基本脚手架
*_form.html.erb*
<%= form_for(@text_elem, :shortcut => @shortcut) do |f| %>
...
问题是: 当我打电话时edit动作,表单 html 显示为:
<form ... action="/25/text_elems/25">
Note: The new动作正确呈现表单动作:
<form ... action="/home/text_elems">
因此,当 form_for 处理它的块时,我的 :shortcut 参数似乎被 :id 参数打败了。现在,如果我在 form_for 块中手动创建 :url => {...},我就可以使用 :shortcut 参数来正确路由,但我更愿意保持代码干燥,而且我想报告如果确实是一个bug,这个问题就交给rails。
其他人可以确认这是一个错误吗?
实际上,您可以将值作为完整散列传递,而不是尝试依赖默认的 to_param (如果您所做的只是传递 @text_elem ,则会调用该值)
<%= form_for({:id => @text_elem.to_param, :shortcut => @shortcut}) do |f| %>
但是,如果这实际上是嵌套资源,您也可以这样做:
<%= form_for([@shortcut, @text_elem]) do |f| %>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)