【发布时间】:2012-08-25 09:53:20
【问题描述】:
我刚刚升级 gem less-rails-bootstrap 以使用 twitter bootstrap 2.1.0,在我看来,它似乎破坏了这段代码,在引导下拉列表中:
<%= link_to 'Logout', destroy_admin_user_session_path, :method => :delete %>
服务器似乎认为这是一个 GET 请求而不是一个 DELETE。但是,如果我使用该视图代码并将其立即放在下拉列表之外,则效果很好,并且服务器可以识别 DELETE 请求。
如果我这样更改我的 gemfile:
gem 'less-rails-bootstrap', '~> 2.0.4'
然后运行“bundle update”并重新启动服务器,然后一切都会再次按预期工作。但如果我只是有:
gem 'less-rails-bootstrap'
然后运行 'bundle update' 并重新启动服务器,然后服务器认为 DELETE 是一个 GET 请求。
我尝试切换到 gem 'twitter-bootstrap-rails',但出现了完全相同的问题。我想我一定是做错了什么?
【问题讨论】:
-
我不确定原因是什么,但这可能与您在使用
link_to的链接上指定:method => :delete时Rails 使用javascript 模拟表单有关。有关详细信息,请参阅documentation。也许新引导程序中添加的内容与该 javascript 冲突。 -
我也是这么想的,但我仍然希望不是这样。我还没有找到其他人报告同样的问题,但这可能是因为 bootstrap 2.1.0 发布时间不长。
-
请注意,下拉菜单中没有调用任何 javascript。在您的注销链接地址中,添加
confirm: "Logout?"并注意它也不起作用。
标签: jquery ruby-on-rails twitter-bootstrap