ruby-on-rails – 使用form_for(部分)路由范围问题
发布时间:2020-12-17 02:27:13 所属栏目:百科 来源:网络整理
导读:试图路线: scope :shortcut do resources :text_elemsend 使用形式偏的基本脚手架 *_form.html.erb*%= form_for(@text_elem,:shortcut = @shortcut) do |f| % ... 问题是:当我调用编辑操作时,表单html显示为: form ... action="/25/text_elems/25" 注意:
试图路线:
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"> 注意:新操作正确呈现表单操作: <form ... action="/home/text_elems"> 因此,当form_for处理它的块时,我的:快捷方式param似乎被:id param打败了.现在,如果我手动创建:url =>我可以使用:快捷方式参数正确路由操作{…}在form_for块中,但我更希望保持代码干燥,另外我想将这个问题报告给rails,如果它确实是一个bug. 任何人都可以确认这是一个错误吗? 解决方法
实际上,您可以将值作为完整哈希值传递,而不是尝试依赖默认的to_param(如果您所做的只是传递@text_elem,则会调用它)
<%= form_for({:id => @text_elem.to_param,:shortcut => @shortcut}) do |f| %> 但是,如果这实际上是嵌套资源,您还可以: <%= form_for([@shortcut,@text_elem]) do |f| %> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |