2014-09-24 99 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