:text_area
和text_area_tag
助手之间有什么区别?
更重要的是,我想知道哪一个更适合长HTML文本输入(特别是在我的情况下,博客帖子)??
答案 0 :(得分:1)
区别在于,如果您使用form_for
,请将ActiveRecord
对象传递给它并传递,例如f
来阻止,例如,使用它会更方便
<%= f.text_area :body %>
因为它会自动设置正确的ID,名称和值。
这些帮助程序在处理长HTML文本输入时没有区别,但是如果要将它用于ActiveRecord
对象表单,则应该使用text_area
,因为正如我所说,它更方便。
答案 1 :(得分:1)
有两种类型的表单助手:具体为work with model attributes和those that don‘t的表单助手。
Ref text_area
专门用于模型
text_area(:post, :body, :cols => 20, :rows => 40)
这将创建以下html
<textarea cols="20" rows="40" id="post_body" name="post[body]">
#{@post.body}
</textarea>
Ref text_area_tag
不依赖于Active Record objec
text_area_tag 'post'
将创建以下
<textarea id="post" name="post"></textarea>
答案 2 :(得分:0)
text_area集,用于访问分配给模板的对象(由对象标识)的指定属性(由方法标识) text_area(:post,:body,:cols =&gt; 20,:rows =&gt; 40)生成:
<textarea cols="20" rows="40" id="post_body" name="post[body]">
#{@post.body}
</textarea>
和text_area_tag'发布'生成
<textarea id="post" name="post"></textarea>
有关详细信息,请查看: http://apidock.com/rails/ActionView/Helpers/FormTagHelper/text_area_tag http://apidock.com/rails/ActionView/Helpers/FormHelper/text_area
答案 3 :(得分:0)
<%= f.text_area :attribute_name %>
<%= text_area_tag :any_name, :any_value %>
答案 4 :(得分:0)
如果您使用form_for
(始终建议)渲染表单,请使用
<%= f.text_area ....
否则你必须使用
<%= text_area_tag ....
要么服务相同而且对输入数据(文本)大小没有影响