У меня есть эта проблема с использованием FactoryGirl.
Каждый раз, когда я запускаю тест, появляется ошибка: Undefined method `to_i' for Array
Я не вижу, где он пытается преобразовать в целое число. Я думаю, что он пытается сохранить запись клиента как число, а не просто сохранить идентификатор записи. Я попытался найти документацию, чтобы убедиться, что я неправильно настроил свои фабрики.
Я запустил rake db:test:prepare
в надежде, что это было так.
Способны ли вы увидеть, что происходит не так?
spec/factories.rb
FactoryGirl.define do
factory :client do
name "Example"
email "[email protected]"
end
factory :book do
title "Book Title"
client_id {[FactoryGirl.create(:client)]}
end
end
spec/views/books/index.html.erb_spec.rb
require 'spec_helper'
describe "books/index" do
before do
FactoryGirl.create(:book)
end
it "renders a list of books" do
render
# Run the generator again with the --webrat flag if you want to use webrat matchers
assert_select "tr>td", :text => "Title".to_s, :count => 2
assert_select "tr>td", :text => 1.to_s, :count => 2
end
end
Тестовый вывод
1) books/index renders a list of books
Failure/Error: FactoryGirl.create(:book)
NoMethodError:
undefined method `to_i' for #<Array:0x########>
# ./spec/views/books/index.html.erb_spec.rb:5:in `(root)'