class ActionText::FixtureSet
Фикстуры — это способ организации данных, которые вы хотите использовать для тестирования; короче говоря, образцовые данные.
Чтобы узнать больше о фикстурах, прочитайте документацию ActiveRecord::FixtureSet.
YAML
Как и другие модели, поддерживаемые Active Record, записи ActionText::RichText наследуются от экземпляров ActiveRecord::Base и поэтому могут быть заполнены фикстурами.
Рассмотрим класс Article.
class Article < ApplicationRecord has_rich_text :content end
Чтобы объявить данные фикстуры для связанной content, сначала объявите данные фикстуры для экземпляров Article в test/fixtures/articles.yml.
first: title: An Article
Затем объявите данные фикстуры ActionText::RichText в test/fixtures/action_text/rich_texts.yml, убедившись, что ключ каждого элемента record: задан как полиморфное отношение:
first: record: first (Article) name: content body: <div>Hello, world.</div>
При обработке Active Record вставит записи в базу данных для каждого элемента фикстуры и обеспечит целостность отношения Action Text.
Общедоступные методы класса
# File actiontext/lib/action_text/fixture_set.rb, line 60
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
%(<action-text-attachment sgid="#{signed_global_id}"></action-text-attachment>)
end Фикстуры поддерживают вложения Action Text как часть их HTML body.
Примеры
Например, рассмотрим вторую фикстуру Article , объявленную в test/fixtures/articles.yml:
second: title: Another Article
Вы можете прикрепить упоминание articles(:first) к second в поле content путем вставки вызова ActionText::FixtureSet.attachment в значение body: в test/fixtures/action_text/rich_texts.yml.
second:
record: second (Article)
name: content
body: <div>Hello, <%= ActionText::FixtureSet.attachment("articles", :first) %></div>
© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.