Spec-Zone.ru › Ruby on Rails 7.0

модуль ActionText::TagHelper

Публичные методы экземпляров

rich_text_area_tag(name, value = nil, options = {}) Показать исходный код
# File actiontext/app/helpers/action_text/tag_helper.rb, line 24
def rich_text_area_tag(name, value = nil, options = {})
  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")

  class_with_attachment = "ActionText::RichText#embeds"
  options[:data][:direct_upload_attachment_name] ||= class_with_attachment
  options[:data][:direct_upload_token] = ActiveStorage::DirectUploadToken.generate_direct_upload_token(
    class_with_attachment,
    ActiveStorage::Blob.service.name,
    session
  )

  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

Возвращает тег trix-editor, который инициализирует JavaScript-редактор Trix, а также скрытое поле, в которое Trix будет записывать изменения, чтобы содержимое отправлялось при отправке формы.

Параметры

  • :class - По умолчанию «trix-content», чтобы применялись стандартные стили. Установка другого значения предотвратит применение стандартных стилей.

  • [:data][:direct_upload_url] - По умолчанию rails_direct_uploads_url.

  • [:data][:blob_url_template] - По умолчанию rails_service_blob_url(":signed_id", ":filename").

Пример

rich_text_area_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>

© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API