Rails:未定义的方法text_field_tag

时间:2011-07-06 08:02:25

标签: ruby-on-rails-3 erb

如果我使用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或其他什么吗?

2 个答案:

答案 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。