0
我有2個模型:場地和事件。場地has_many:賽事和賽事belongs_to:場地。如何從數據庫填充下拉菜單中選擇一個值與Capybara?
我的活動/新形式有以下字段
- 日期(填入當前日期)
- 時間(填充當前時間)
- 標題(空)
- 地點(填入來自開發數據庫的場地表)
現在我試圖用RSpec和水豚來測試它。這是我的特點:
require 'spec_helper'
feature "Events" do
let(:venue) { FactoryGirl.create(:venue) }
let(:event) { FactoryGirl.create(:event, venue: venue) }
scenario "Creating event as guest" do
visit root_path
click_link "Submit Event"
fill_in "Title", with: event.title
click_button "Submit"
expect(page).to have_content("Event has been created.")
expect(page).to have_content(event.title)
end
end
我的工廠是這樣的:
FactoryGirl.define do
factory :event do
date "2014-02-27"
time "10:00am"
title "Slayer"
end
end
FactoryGirl.define do
factory :venue do
name "Example Venue"
url "http://www.example.com"
address "123 Main St., Chicago, IL"
end
end
當我運行該規範我得到以下錯誤:
Failure/Error: click_button "Submit"
ActionView::Template::Error:
Couldn't find Venue without an ID
我猜這有事這是否與Venue字段未在測試環境中填充有關?
這讓我絆倒了很多時間...... – sevenseacat
好吧,那有效。但讓和讓的區別究竟是什麼!? – mikeglaz
讓< - 懶惰讓! < - 不懶 – phoet