Использование машиниста вместо светильников
В моем приложении Rails 3 у меня есть модель User со следующими полями
name: string
email: string
children: has_many association to another model
Я использую машиниста 2 для создания макетных данных, его план выглядит так
User.blueprint do
name { 'user{sn}' }
email { '{object.name}@domain.com' }
end
И пользовательский юнит-тест:
require 'test_helper'
class UserTest < ActiveSupport::TestCase
should have_many( :children )
should validate_uniqueness_of( :email )
should_not allow_value("blah").for(:email)
should_not allow_value("b lah").for(:email)
should allow_value("a@b.com").for(:email)
should allow_value("asdf@asdf.com").for(:email)
end
Когда я сгенерировал пользовательскую модель, она создала файл фикстуры. Насколько я понимаю, когда я бегу rake
Rails использует этот файл фикстур для генерации объектов, используемых в тестах. Что не то, что я хочу. Я хочу, чтобы Rails без проблем использовал чертежи машиниста, поскольку он использует файл креплений.
Есть ли способ сделать это? Есть ли какой-нибудь способ сообщить рельсам, что им нужно использовать чертежи вместо светильников?
1 ответ
Добавьте это в config/application.rb:
config.generators do |g|
g.fixture_replacement :machinist
end
Вы также можете безопасно удалить старую папку с осветителями, если вы не хотите хранить их явно!