运维开发网
广告位招商联系QQ:123077622
 
广告位招商联系QQ:123077622

ruby-on-rails – 使用form_for(部分)路由范围问题

运维开发网 https://www.qedev.com 2020-06-17 12:25 出处:网络 作者:运维开发网整理
试图路线: scope :shortcut do resources :text_elems end 使用形式偏的基本脚手架 *_form.html.erb* <%= form_for(@text_elem, :shortcut => @shortcut) do |f| %> ... 问题是:当我调用编辑操作时,表单html显示为: <form ... action="/25/text_ele
试图路线:

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([email protected]_elem,则会调用它)

<%= form_for({:id => @text_elem.to_param, :shortcut => @shortcut}) do |f| %>

但是,如果这实际上是嵌套资源,您还可以:

<%= form_for([@shortcut, @text_elem]) do |f| %>

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号