尝试路线:
scope :shortcut do
resources :text_elems
end
使用形式部分
的基本脚手架*_form.html.erb*
<%= form_for(@text_elem, :shortcut => @shortcut) do |f| %>
...
问题:当我调用编辑操作时,表单html显示为:
<form ... action="/25/text_elems/25">
注意: new 操作正确呈现表单操作:
<form ... action="/home/text_elems">
因此,当form_for处理它的块时,我的:快捷方式param似乎被:id param打败了。现在,如果我手动创建:url =&gt;我可以使用:快捷方式参数正确路由操作{...}在form_for块中,但我更希望保持代码干,再加上我想将这个问题报告给rails,如果它确实是一个bug。
其他人可以确认这是一个错误吗?
答案 0 :(得分:2)
实际上,您可以将值作为完整哈希值传递,而不是尝试依赖默认的to_param(如果您所做的只是传递@text_elem,则会调用它)
<%= form_for({:id => @text_elem.to_param, :shortcut => @shortcut}) do |f| %>
但是,如果这实际上是嵌套资源,您也可以这样做:
<%= form_for([@shortcut, @text_elem]) do |f| %>
答案 1 :(得分:2)
我遇到了同样的问题,上述答案都没有帮助。
本页的最后一个答案虽然适用于我...