2014-01-22 8 views
1

"편집"동작에 대한 경로를 올바르게 테스트하는 데 문제가 지속적으로 발생합니다. 'edit'액션이 edit_ids와 연결되어 있기 때문인 것 같습니다. 즉, 절대 보거나 편집하지는 않지만 항상/edit/asdfsafsadfds (ID 문자열)입니다.Rspec "편집"동작 라우팅

이 경우 어떤 규칙인지 확실하지 않습니다. 여기있는 RSpec에 내가 가지고 편집,는 render_template '편집'는 render_template : 나는 또한 redirect_to '편집', redirect_to 시도

describe "create - with valid data" do 
    it "redirects to edit action" do 
     post :create, request: FactoryGirl.attributes_for(:request) 
     response.should redirect_to :controller => :requests, :action => :edit 
    end 
... 
end 

참고 편집, 그들 모두는 실패합니다.

컨트롤러 코드 :

def create 
    @request = Request.new(request_params) 
    if @request.save 
    ... 
    redirect_to edit_request_path(@request.edit_id) 
    ... 
    end 
end 

경로 코드 : 참고로 내 마지막 코멘트 @의 veritas1 당

get 'edit/:edit_id', to: 'requests#edit', as: 'edit_request' 
+0

당신이 "쇼"페이지로 리디렉션해야하지? –

+0

아니요,이 경우 입력 한 정보를 변경할 수있는 수정 페이지로 직접 리디렉션됩니다. – james

+0

@james 어디서 오류가 있습니까? – Agis

답변

0

OH, 당신이 나에게 90 %를 얻었다. 내가하려고 한 일이 옳았는데, 나는 그것을 잘못 썼다.

redirect_to edit_request_url(assigns[:request].edit_id) 

하지 양수인해야하는데 [: request.edit_id]