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