text_area
Ruby on Rails:とtext_area_tag
ヘルパーの違いは何ですか?
さらに重要なことに、長い HTML テキスト入力 (特に私の場合はブログ投稿) に適しているのはどれか知りたいです??
text_area
Ruby on Rails:とtext_area_tag
ヘルパーの違いは何ですか?
さらに重要なことに、長い HTML テキスト入力 (特に私の場合はブログ投稿) に適しているのはどれか知りたいです??
フォーム ヘルパーには 2 種類あります。特にモデル属性で機能するものとそうでないものです。
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>
違いは、を使用してオブジェクトを渡して、たとえばform_for
ブロックに渡すと、たとえば使用する方がはるかに便利です。ActiveRecord
f
<%= f.text_area :body %>
適切なID、名前、値が自動的に設定されるためです。長い HTML テキスト入力の処理に関しては、これらのヘルパーに違いはありませんが、ActiveRecord
オブジェクト フォームに使用する場合は、使用する必要があります。先text_area
に述べたように、より便利だからです。
form_for
(常に推奨)を使用してフォームをレンダリングする場合は、使用します
<%= f.text_area ....
それ以外の場合は使用する必要があります
<%= text_area_tag ....
どちらも同じように機能し、入力データ (テキスト) のサイズには影響しません
<%= f.text_area :attribute_name %>
<%= text_area_tag :any_name, :any_value %>
テンプレートに割り当てられたオブジェクト (オブジェクトによって識別される) の指定された属性 (メソッドによって識別される) にアクセスするために調整された 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を参照して ください。