# frozen_string_literal: true module ActionText # Fixtures are a way of organizing data that you want to test against; in # short, sample data. # # To learn more about fixtures, read the # {ActiveRecord::FixtureSet}[rdoc-ref:ActiveRecord::FixtureSet] documentation. # # === YAML # # Like other Active Record-backed models, ActionText::RichText records inherit # from ActiveRecord::Base instances and can therefore be populated by # fixtures. # # Consider an Article class: # # class Article < ApplicationRecord # has_rich_text :content # end # # To declare fixture data for the related content, first declare fixture # data for Article instances in test/fixtures/articles.yml: # # first: # title: An Article # # Then declare the ActionText::RichText fixture data in # test/fixtures/action_text/rich_texts.yml, making sure to declare # each entry's record: key as a polymorphic relationship: # # first: # record: first (Article) # name: content # body:
Hello, world.
# # When processed, Active Record will insert database records for each fixture # entry and will ensure the Action Text relationship is intact. class FixtureSet # Fixtures support Action Text attachments as part of their body # HTML. # # === Examples # # For example, consider a second Article fixture declared in # test/fixtures/articles.yml: # # second: # title: Another Article # # You can attach a mention of articles(:first) to second's # content by embedding a call to ActionText::FixtureSet.attachment # in the body: value in test/fixtures/action_text/rich_texts.yml: # # second: # record: second (Article) # name: content # body:
Hello, <%= ActionText::FixtureSet.attachment("articles", :first) %>
# def self.attachment(fixture_set_name, label, column_type: :integer) signed_global_id = ActiveRecord::FixtureSet.signed_global_id fixture_set_name, label, column_type: column_type, for: ActionText::Attachable::LOCATOR_NAME %() end end end