Ссылка на другой прибор без использования меток
У меня эта модель называется Region and 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: ?????
2 ответа
Я спросил своего коллегу и получил ответ. Это будет работать:
# admins.yml
one:
region_ids: <%= Region.pluck(:id) %>
rails будет загружать region.yml, когда он доберется до этой точки.
Это обновленный ответ с использованием erb для получения идентификатора для различных регионов.
Это создает структуру json и запрашивает базу данных, чтобы получить первый и второй идентификаторы региона. Они будут загружены в БД из region.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, чтобы получить идентификатор, но не могу понять, что ваша таблица содержит json вместо одного идентификатора для другой модели.
Лично я бы заранее определил ваши идентификаторы на вашем region.yml, а затем напрямую ссылался на них в вашем admins.yml. Это поможет вам узнать идентификаторы и иметь точные данные, с которыми вы будете иметь дело.