7

我刚刚升级了 gem less-rails-bootstrap 以使用 twitter bootstrap 2.1.0,在我看来,它似乎破坏了这段代码,在 bootstrap 下拉列表中:

<%= link_to 'Logout', destroy_admin_user_session_path, :method => :delete %>

服务器似乎认为这是一个 GET 请求而不是一个 DELETE。但是,如果我采用该视图代码并将其立即放在下拉列表之外,那么它工作得很好,并且服务器识别了 DELETE 请求。

如果我这样更改我的 gemfile:

gem 'less-rails-bootstrap', '~> 2.0.4'

然后运行“捆绑更新”并重新启动服务器,然后一切都按预期工作。但如果我只是有:

gem 'less-rails-bootstrap'

然后运行 ​​'bundle update' 并重新启动服务器,然后服务器认为 DELETE 是一个 GET 请求。

我尝试切换到 gem 'twitter-bootstrap-rails',并且发生了完全相同的问题。我想我一定做错了什么?

4

2 回答 2

6

是的,这是一个 Twitter Bootstrap 问题。可能会在下一个版本中修复。在这里,试试这个快速修复:

$('body')
  .off('click.dropdown touchstart.dropdown.data-api', '.dropdown')
  .on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() });
于 2012-09-13T14:25:19.870 回答
2

显然其他人也有同样的问题:https ://github.com/twitter/bootstrap/issues/4688

现在使用 devise 的快速修复似乎是将 devise.rb 更改为包括:

config.sign_out_via = :get
于 2012-08-26T00:08:44.200 回答