text_area
在 Ruby on Rails 中:和text_area_tag
助手有什么区别?
更重要的是,我想知道哪一个更适合长 HTML 文本输入(特别是在我的情况下,博客文章)??
text_area
在 Ruby on Rails 中:和text_area_tag
助手有什么区别?
更重要的是,我想知道哪一个更适合长 HTML 文本输入(特别是在我的情况下,博客文章)??
不同之处在于,如果您使用form_for
, 将ActiveRecord
对象传递给它并传递,比方说,f
阻止,例如使用起来更方便
<%= f.text_area :body %>
因为它会自动设置正确的 id、name 和 value。这些帮助器在处理长 HTML 文本输入方面没有区别,但是如果你想将它用于ActiveRecord
对象形式,你应该使用它,text_area
因为正如我所说,它更方便。
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>
text_area_tag
不依赖于 Active Record 对象的Ref
text_area_tag 'post'
将创建以下
<textarea id="post" name="post"></textarea>
为访问分配给模板(由对象标识)的对象上的指定属性(由方法标识)而定制的 text_area 集 text_area(:post, :body, :cols => 20, :rows => 40) 生成:
<textarea cols="20" rows="40" id="post_body" name="post[body]">
#{@post.body}
</textarea>
和 text_area_tag 'post' 生成
<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
<%= f.text_area :attribute_name %>
<%= text_area_tag :any_name, :any_value %>
如果您使用form_for
(始终推荐)呈现表单,则使用
<%= f.text_area ....
否则你必须使用
<%= text_area_tag ....
两者都将提供相同的服务,并且对输入数据(文本)大小没有影响