0

如何告诉水豚发送补丁方法?默认发生get。

     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"
4

1 回答 1

0

这是您页面中的错误。Capybara 默认发送GET请求,因为这是浏览器发送的,Capybara 是在模拟浏览器。

要发送PATCH请求,您需要将一些 JavaScript 代码附加到链接的点击处理程序。如果这样做,则其中可能存在导致这种情况发生的错误。

于 2014-09-28T11:47:13.163 回答