我已经在单独的视图中使用了此代码,但是在form_for
中<%= text_field :search_tags, :id => 'search_tags', 'data-autocomplete' => "lame sauce" %>
我要做的是为自动填充的表单提交创建一个简单的表单。它在其他位置工作得很好,但出于某种原因,只要我将text_field从form_for中取出,它就会生成这个HTML:
<input id="search_tags_{:id=>"search_tags", "data-autocomplete"=>"lame sauce"}" name="search_tags[{:id=>"search_tags", "data-autocomplete"=>"lame sauce"}]" size="30" type="text">
这都是乱码和丑陋的:( 现在,因为这是一个简单的表单我提交我只是使用form_tag,我只需要它去一个特定的控制器和动作......就是这样。 无论如何,我已经阅读了text_field_tag和text_field文档,似乎我也不喜欢它。什么是这个问题的好方法?或者有什么方法可以使用text_field或text_field_tag,我不知道? 非常感谢!
答案 0 :(得分:2)
在form_for
之外,如果要使用text_field
而不是{text_field_tag
,则需要指定对象名称和方法名称作为第一个和第二个参数{1}}。
如果您决定使用text_field_tag
(当您在form_for
之外时可能更适合您的目的),请确保使用正确的语法:第一个参数是id,其余的是选项哈希。
参考文献:RoR API: FormHelper#text_field,RoR API
P.S。你并不需要像这样覆盖id - 它会破坏form_for
的部分目的,它会生成RESTful风格的表单。
答案 1 :(得分:2)
如果我理解,只是你使用text_field的方式有问题,试试这个:
<%= text_field :search, :tags, :id => 'search_tags', 'data-autocomplete' => "lame sauce" %>
答案 2 :(得分:1)
第一个参数是id,第二个参数是值。 需要看起来像这样:
<%= text_field_tag "search_tags", '', 'data-autocomplete' => "lame sauce" %>