加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Form_tag url_for_options nil对控制器本身的

发布时间:2020-12-17 03:48:47 所属栏目:百科 来源:网络整理
导读:我的情况是我有更多的控制器共享一个视图,我试图改变dinamycally动作在表单上传递控制器中定义的变量 尝试一些解决方案我观察到如果我在url_for_options form_tab变量中有一个nil变量,则视图中的表单具有从调用视图的位置的正确控制器路径 %= form_tag nil,
我的情况是我有更多的控制器共享一个视图,我试图改变dinamycally动作在表单上传递控制器中定义的变量

尝试一些解决方案我观察到如果我在url_for_options form_tab变量中有一个nil变量,则视图中的表单具有从调用视图的位置的正确控制器路径

<%= form_tag nil,:method => :get,:class => ‘search’do%>

它是一个bug还是一个功能?

解决方法

请注意,如果传递空字符串而不是nil,则会产生稍微不同的行为:

form_tag nil

创建

<form action="(URL based on current controller and action)">....

form_tag ""

创建

<form action>....

如果您所在页面的URL是“/ foo / bar”(对于FooController#bar),则两者在功能上是等效的.
如果当前页面的URL是“/ foo / bar?a = 1& b = 2”,前者将继续指向“/ foo / bar”,而后者将导致提交给完整的URL(包括查询字符串).这是因为后者使用HTML标准(无操作或空操作=使用当前URL,包括查询字符串).相反,前者触发Rails标准(url_for =>使用当前控制器和方法为nil).

只是认为它值得一提,因为有些情况下,无操作形式的HTML标准更有用(即,你希望查询字符串参数是粘性的),并且nil和“”之间的行为的细微差别很容易被忽略.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读