2014-09-24 64 views
0

如何告訴水豚發送補丁方法? 默認發生get。水豚click_link方法補丁

 resources :users do 
     member do 
     patch :toggle_moderator 
    end 

測試

describe 'toggle moderator' do 
    it 'remove moderator privilegue', js: true do 
    click_on("toogle") 
    expect(page).to have_css('.icon-star') 
    end 
    end 

錯誤:

Failure/Error: Unable to find matching line from backtrace 
ActionController::RoutingError: 
    No route matches [GET] "https://stackoverflow.com/users/5/toggle_moderator" 

回答

0

這是在你的頁面的錯誤。水豚默認發送GET請求,因爲這是瀏覽器發送的內容,Capybara模擬瀏覽器。

要發送PATCH請求,您需要在鏈接的點擊處理程序中附加一些JavaScript代碼。如果這樣做,可能會導致這種情況發生。

+0

謝謝,試試這個。 – ilgam 2014-09-30 09:57:16