7

gem less-rails-bootstrap を twitter ブートストラップ 2.1.0 を使用するようにアップグレードしたところ、ブートストラップ ドロップダウン内でこのコードが壊れているようです。

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

サーバーは、これが DELETE ではなく GET 要求であると考えているようです。ただし、そのビュー コードを取得してドロップダウンのすぐ外に配置すると、うまく機能し、サーバーは DELETE 要求を認識します。

gemfile を次のように変更した場合:

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

次に、「bundle update」を実行してサーバーを再起動すると、すべてが再び期待どおりに機能します。しかし、私が単に持っている場合:

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 に答える