在不使用标签 rails 的情况下引用另一个夹具
Reference another fixture without using label rails
我有一个名为 Region 和 Admin 的模型
# regions.yml
one:
name: test
two:
name: test2
# admins.yml
one:
name: admin1
two:
name: admin2
admin.rb
上有一列定义为 json 列 (store_accessor: :region_ids
)。如何引用 admins.yml
上的区域?
# admins.yml
one:
name: admin1
region_ids: ?????
这是使用 erb 获取各个区域的 ID 的更新答案。
这将创建结构 json 并查询数据库以获取第一个和第二个区域 ID。当您 运行 您的测试时,这些将从 regions.yml 加载到数据库中。
# admins.yml
one:
name: admin1
region_ids: >
[{"region_one_id":<%= Region.first.id.to_json.inspect %>},
{"region_two_id":<%= Region.second.id.to_json.inspect %>}]
我查看了 Fixture label interpolation 以获取 ID,但无法通过您的 table 持有 json 而不是另一个模型的单个 ID 来解决。
就我个人而言,我会在 regions.yml 上预先定义您的 ID,然后直接在 admins.yml 中引用它们。这将有助于确保您知道 ID,并且您拥有准确的数据结构来测试。
问了同事,得到了答案。这将起作用:
# admins.yml
one:
region_ids: <%= Region.pluck(:id) %>
rails 将在到达此点时加载 regions.yml。
我有一个名为 Region 和 Admin 的模型
# regions.yml
one:
name: test
two:
name: test2
# admins.yml
one:
name: admin1
two:
name: admin2
admin.rb
上有一列定义为 json 列 (store_accessor: :region_ids
)。如何引用 admins.yml
上的区域?
# admins.yml
one:
name: admin1
region_ids: ?????
这是使用 erb 获取各个区域的 ID 的更新答案。
这将创建结构 json 并查询数据库以获取第一个和第二个区域 ID。当您 运行 您的测试时,这些将从 regions.yml 加载到数据库中。
# admins.yml
one:
name: admin1
region_ids: >
[{"region_one_id":<%= Region.first.id.to_json.inspect %>},
{"region_two_id":<%= Region.second.id.to_json.inspect %>}]
我查看了 Fixture label interpolation 以获取 ID,但无法通过您的 table 持有 json 而不是另一个模型的单个 ID 来解决。
就我个人而言,我会在 regions.yml 上预先定义您的 ID,然后直接在 admins.yml 中引用它们。这将有助于确保您知道 ID,并且您拥有准确的数据结构来测试。
问了同事,得到了答案。这将起作用:
# admins.yml
one:
region_ids: <%= Region.pluck(:id) %>
rails 将在到达此点时加载 regions.yml。