0
試圖找出此錯誤:如何在rspec中存儲此方法?
ActionView::Template::Error:
No route matches
{:controller=>"evaluations",
:action=>"note",
:student_group_id=>#
<StudentGroup id: 2,
name: "Rainbow Class",
user_id: 1,
created_at: "2013-08-18 10:45:46",
updated_at: "2013-08-18 10:45:46",
number_of_students: nil,
type_of_group: "Adult class (18+)">,
:student_id=>nil}
能正常工作在瀏覽器中,它只是在測試中失敗。
下面的代碼:
<%= link_to "!", eval_note_path({ student_group_id: @student_group, student_id: @student_group.students.first }) %>
和測試 - 我知道我需要在一個枝節塊之前,但我不知道如何使rspec的做我想做的。環顧四周,對左右,但磕碰似乎相當依賴的情況下,我無法弄清楚:
describe "GET 'index" do
before(:each) do
@index = get :index
@student_group.stub(:students.first).and_return(1)
end
...
it "should have an evaluation link" do
@index
response.should have_selector('a',
href: eval_note_path({
student_group_id: @student_group,
student_id: @student
}),
content: "!")
end
end
了'student_group_id'是好的 - 那就是獲取返回'nil' – dax
,因爲你的學生對象是零隻有'student_id'。你必須在每個塊之前存儲你的學生對象。 –
我採取了阻力最小的路徑,只是改變了路線路徑 - 我可以在稍後傳遞'student_id'而沒有大問題。謝謝! – dax