跳至内容 跳至搜索
方法
R

实例公共方法

rich_text_area_tag(name, value = nil, options = {}, &block)

rich_textarea_tag(name, value = nil, options = {}, &block)

返回一个 trix-editor 标签,该标签会实例化 Trix JavaScript 编辑器以及一个隐藏字段,Trix 会在更改时写入该隐藏字段,以便在表单提交时发送内容。

选项

  • :class - 默认为 “trix-content”,以便应用默认样式。将其设置为其他值将阻止应用默认样式。

  • [:data][:direct_upload_url] - 默认为 rails_direct_uploads_url

  • [:data][:blob_url_template] - 默认为 rails_service_blob_url(":signed_id", ":filename")

示例

rich_textarea_tag "content", message.content
# <input type="hidden" name="content" id="trix_input_post_1">
# <trix-editor id="content" input="trix_input_post_1" class="trix-content" ...></trix-editor>

rich_textarea_tag "content", nil do
  "<h1>Default content</h1>"
end
# <input type="hidden" name="content" id="trix_input_post_1" value="&lt;h1&gt;Default content&lt;/h1&gt;">
# <trix-editor id="content" input="trix_input_post_1" class="trix-content" ...></trix-editor>
也别名为: rich_text_area_tag
# File actiontext/app/helpers/action_text/tag_helper.rb, line 36
def rich_textarea_tag(name, value = nil, options = {}, &block)
  value = capture(&block) if value.nil? && block_given?
  options = options.symbolize_keys
  form = options.delete(:form)

  options[:input] ||= "trix_input_#{ActionText::TagHelper.id += 1}"
  options[:class] ||= "trix-content"

  options[:data] ||= {}
  options[:data][:direct_upload_url] ||= main_app.rails_direct_uploads_url
  options[:data][:blob_url_template] ||= main_app.rails_service_blob_url(":signed_id", ":filename")

  editor_tag = content_tag("trix-editor", "", options)
  input_tag = hidden_field_tag(name, value.try(:to_trix_html) || value, id: options[:input], form: form)

  input_tag + editor_tag
end