Ruby on rails 形式为_的路由范围问题(部分)
正在尝试路由:Ruby on rails 形式为_的路由范围问题(部分),ruby-on-rails,routing,scope,form-for,Ruby On Rails,Routing,Scope,Form For,正在尝试路由: scope :shortcut do resources :text_elems end 使用带局部模板的基本脚手架 *_form.html.erb* <%= form_for(@text_elem, :shortcut => @shortcut) do |f| %> ... *\u form.html.erb* @快捷方式)do | f |%> ... 问题是:当我调用编辑操作时,表单html显示为: <form ... action="/25
scope :shortcut do
resources :text_elems
end
使用带局部模板的基本脚手架
*_form.html.erb*
<%= form_for(@text_elem, :shortcut => @shortcut) do |f| %>
...
*\u form.html.erb*
@快捷方式)do | f |%>
...
问题是:当我调用编辑操作时,表单html显示为:
<form ... action="/25/text_elems/25">
注意:新操作正确呈现表单操作:
<form ... action="/home/text_elems">
因此,当form_为进程阻塞时,my:shortcut参数似乎被:id参数压倒。现在,如果我手动将:url=>{…}设置为块的形式_,我就能够使用:shortcut参数正确地路由操作,但是我更愿意保持代码干燥,另外,如果这个问题确实是一个bug,我想向rails报告这个问题
其他人能确认这是一个bug吗?实际上,您可以将值作为完整哈希传递,而不是试图依赖默认的to_参数(如果您只传递@text_元素,就会调用该参数)
@text_elem.to_param,:shortcut=>@shortcut})do | f |%>
但是,如果这实际上是一个嵌套资源,您还可以执行以下操作:
<%= form_for([@shortcut, @text_elem]) do |f| %>
我遇到了同样的问题,上面的答案都没有帮助 这一页的最后一个答案对我来说很有用
<%= form_for([@shortcut, @text_elem]) do |f| %>