2014-01-22 79 views
1

對「編輯」操作路由正確測試出現問題始終存在問題。我懷疑這是因爲「編輯」操作具有關聯的edit_ids?即,你永遠不會看到/編輯,但總是/編輯/ asdfsafsadfds(ID字符串)。Rspec「編輯」操作路由

不確定在這種情況下約定是什麼。這裏是我的RSpec有:

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 

請注意,我也嘗試redirect_to的「編輯」,redirect_to的編輯,render_template「編輯」,render_template:編輯,和他們都失敗。供參考:

控制器代碼:

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

路線代碼:

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

你不應該重定向到「顯示」頁面? –

+0

不,在這種情況下,我直接重定向到編輯頁面,在那裏他們可以更改他們剛剛輸入的信息。 – james

+0

@james錯誤在哪裏? – Agis

回答

0

OH按我最後的評論@ veritas1,你給我90%存在。我想要做的是對的,我只是寫錯了。它應該是

redirect_to edit_request_url(assigns[:request].edit_id) 

不受讓人[:request.edit_id]