【发布时间】:2014-05-11 16:50:08
【问题描述】:
无法弄清楚为什么工厂女孩没有为我生成我的问题 ID。
工厂:
用户:
require 'faker'
FactoryGirl.define do
factory :user do
email {Faker::Internet.email}
name {Faker::Name.name}
password '12345678'
password_confirmation '12345678'
end
end
问题:
require 'faker'
FactoryGirl.define do
factory :question do
association :user
title "Random question about Ruby on Rails"
body { Faker::Lorem.paragraph(2) }
end
end
功能测试
require 'spec_helper'
feature "Show questions" do
given(:user) { FactoryGirl.create(:user) }
given(:question) { FactoryGirl.build(:question, user_id: user.id) }
scenario 'guest user cannot visit edit question path' do
visit edit_question_path(question)
expect(current_url).to eq root_url
end
...
end
终端失败:
ActionController::UrlGenerationError:
No route matches {:action=>"edit", :controller=>"questions", :format=>nil,
:id=>#<Question id: nil, title: "Random question about Ruby on Rails",
body: "Dolor in doloribus labore. Totam debitis eveniet v...", created_at: nil, updated_at: nil, user_id: 6309>} missing required keys: [:id]
我知道解决方案就在那里,但我无法理解问题所在。谢谢!
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 rspec factory-bot