如何告诉capybara发送补丁方法? 默认发生得到。
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] "/users/5/toggle_moderator"
答案 0 :(得分:0)
这是您网页中的错误。 Capybara默认发送GET
请求,因为这是浏览器发送的内容,而Capybara正在模拟浏览器。
要发送PATCH
请求,您需要为链接的点击处理程序添加一些JavaScript代码。如果你这样做,可能会有一个导致这种情况发生的错误。