필자는 Rails 기술을 향상시키기 위해 Yahoo Answers 애플리케이션을 개발 중입니다. 지금까지 내가 설정 한 두 가지 모델 "질문"과 "답변"그리고 그들은 이런 식으로 중첩 :Rspec 및 Rails보기 테스트 및 중첩 된 리소스
resources :questions do
resources :answers
end
내가 컨트롤러, 모델 및 질문 '보기위한 테스트를했습니다,하지만 난 대답의 견해와 중첩 된 길에 약간의 문제가 있습니다. 나는 Rspec 및 공장 소녀를 사용하고 있습니다.
I는 다음의 시험이 있습니다
describe "answers/new.html.erb" do
before(:each) do
@question = Factory(:valid_question)
@answer = Factory(:valid_answer)
assign(:question, @question)
assign(:answer, stub_model(Answer,
:text => "MyString",
:question_id => 1
).as_new_record)
end
it "renders new answer form" do
render
assert_select "form", :action => question_answers_path(@question), :method => "post" do
assert_select "textarea#answer_text", :name => "answer[text]"
assert_select "input#answer_question_id", :name => "answer[question_id]"
end
end
end
와 나는 다음과 같은 메시지가 테스트를 실행할 때마다 :
3) answers/new.html.erb renders new answer form
Failure/Error: render
ActionView::Template::Error:
No route matches {:controller=>"answers"}
# ./app/views/answers/new.html.erb:6:in `_app_views_answers_new_html_erb__3175854877830910784_6513500'
# ./spec/views/answers/new.html.erb_spec.rb:16:in `block (2 levels) in <top (required)>'
나는
render new_question_answer_path(@question)
을하고 같은 많은 것들을 시도했습니다
하지만 다음과 같이 표시됩니다.
3) answers/new.html.erb renders new answer form
Failure/Error: render new_question_answer_path(@question.id)#, :format=>:html
ActionView::MissingTemplate:
Missing partial /questions/1/answers/new with {:handlers=>[:erb, :builder, :coffee], :formats=>[:html, :text, :js, :css, :ics, :csv, :xml, :rss, :atom, :yaml, :multipart_form, :
url_encoded_form, :json], :locale=>[:en, :en]}. Searched in:
* "/home/juan/rails_projects/answers/app/views"
# ./spec/views/answers/new.html.erb_spec.rb:16:in `block (2 levels) in <top (required)>'
도와 주시겠습니까? 나는 일종의 우둔 해요.