У меня есть карточка фабрики (как определено ниже),FactoryGirl InvalidFactoryError NoMethodError
FactoryGirl.define do
factory :card do
front { Faker::Lorem.sentence }
back { Faker::Lorem.sentence }
tags { Faker::Lorem.words(3).join(';') }
# associations
user
tag
end
end
Когда я пытаюсь запустить спецификации я получаю следующее сообщение об ошибке,
An error occurred in a `before(:suite)` hook.
Failure/Error: FactoryGirl.lint
FactoryGirl::InvalidFactoryError:
The following factories are invalid:
* card - undefined method `each' for "eum;et;ad":String (NoMethodError)
Я понятия не имею, почему это происходит, код ниже моя модель карты,
class Card < ApplicationRecord
validates :front, presence: true
belongs_to :user
has_one :meta_sm2
has_many :action_records
has_and_belongs_to_many :tags
delegate :username, :email, :name,
to: :user, prefix: true
end
Что такое 'before (: suite)' –
'tags {Faker :: Lorem.words (3) .join (';')}' ожидает массив вместо строки – Sravan
попробуйте это. 'tags {Faker :: Lorem.words (3)}' вместо тегов '{Faker :: Lorem.words (3) .join (';')}' – Sravan