Action Text FixtureSet
Fixture 是一種編排資料的方式,讓你能對其執行測試,簡而言之,就是範例資料。
如需詳細瞭解 fixture,請閱讀 ActiveRecord::FixtureSet
文件。
YAML
與其他由 Active Record 為後盾的模型類似,ActionText::RichText
記錄繼承自 ActiveRecord::Base
執行個體,因此可以由 fixture 填值。
考慮一個 Article
類別
class Article < ApplicationRecord
has_rich_text :content
end
若要為相關 content
宣告 fixture 資料,請先在 test/fixtures/articles.yml
中為 Article
執行個體宣告 fixture 資料。
first:
title: An Article
然後在 test/fixtures/action_text/rich_texts.yml
中宣告 ActionText::RichText
fixture 資料,並務必將每個條目的 record:
鍵宣告為異質關係
first:
record: first (Article)
name: content
body: <div>Hello, world.</div>
處理後,Active Record 會針對每個 fixture 條目插入資料庫記錄,並確保 Action Text 關係完整。
Method
類別 Public 方法
attachment(fixture_set_name, label, column_type: :integer) 連結
Fixture 支援 Action Text 附件,作為其 body
HTML 的一部分。
範例
例如,考慮在 test/fixtures/articles.yml
中宣告的第二個 Article
fixture
second:
title: Another Article
你可以透過在 test/fixtures/action_text/rich_texts.yml
中 body:
值中內嵌呼叫 ActionText::FixtureSet.attachment
,將對 articles(:first)
的提及附加到 second
的 content
second:
record: second (Article)
name: content
body: <div>Hello, <%= ActionText::FixtureSet.attachment("articles", :first) %></div>
來源:顯示 | 在 GitHub 上
# File actiontext/lib/action_text/fixture_set.rb, line 61 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