如果我使用text_field
,我的ERB文件可以正常工作,但如果切换到text_field_tag
,我会收到此错误:
undefined method `text_field_tag' for #<ActionView::Helpers::FormBuilder:0x00000001f6fd50>
以下是有效的代码:
<%= f.text_field mystring %>
代码不起作用:
<%= f.text_field_tag mystring %>
记录了 text_field_tag。如何使它工作?我需要require
或其他什么吗?
答案 0 :(得分:3)
要获取您的信息,text_field_tag
来自ActionView::Helpers::FormTagHelper
,其中声明:
提供了许多方法 创建不依赖的表单标签 在分配给的Active Record对象上 像FormHelper这样的模板。 相反,你提供名称和 手动值。
由于这是一个不依赖于活动记录对象的助手,因此无法为“f”对象调用此方法。它是一个辅助方法,应该像这样调用:
<%= text_field_tag "whatever you want to write" %>
答案 1 :(得分:2)
需要删除f:
<%= text_field_tag mystring %>
我猜text_field_tag不依赖于form_for。