Rails删除不在twitter bootstrap下拉列表中工作(2.1.0)

rob*_*000 7 jquery ruby-on-rails twitter-bootstrap

我刚刚升级了gem less-rails-bootstrap以使用twitter bootstrap 2.1.0,它似乎在我的视图中打破了这个代码,在一个bootstrap下拉列表中:

<%= link_to 'Logout', destroy_admin_user_session_path, :method => :delete %>
Run Code Online (Sandbox Code Playgroud)

服务器似乎认为这是一个GET请求而不是DELETE.但是,如果我将该视图代码放在下拉列表之外,那么它工作正常并且服务器识别DELETE请求.

如果我改变我的gemfile:

gem 'less-rails-bootstrap', '~> 2.0.4'
Run Code Online (Sandbox Code Playgroud)

然后运行'bundle update'并重新启动服务器,然后一切按预期再次运行.但如果我只是:

gem 'less-rails-bootstrap'
Run Code Online (Sandbox Code Playgroud)

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

我尝试切换到gem'trip-bootstrap-rails',并出现完全相同的问题.我想我一定做错了什么?

小智 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() });
Run Code Online (Sandbox Code Playgroud)