6

本番サーバーで問題に直面しています。これは別の質問と重複していますが、すべての質問と回答がうまくいきませんでした。

「link_to」タグに「delete」メソッドを使用しました:-

<%= link_to "Delete Campaign", campaign_path(campaign), :class => "btn btn-danger", :method => :delete, :confirm => 'Are you sure?'%>

[キャンペーンの削除] リンクをクリックすると、確認のポップアップが 2 回表示されます。これは、クライアントの本番環境でのみ発生しています。

Ruby 1.9.2 と Rails 3.2.13 を使用。

私のgemfileでは、次を使用しました:-

gem 'jquery-rails'

私のapplication.jsで: -

//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require bootstrap-timepicker
//= require_tree ../../../vendor/assets/javascripts/

私のapplication.html.erbで:-

<%= javascript_include_tag "application" %>
<%= javascript_include_tag "http://code.jquery.com/ui/1.10.2/jquery-ui.js" %>

私がそれについて検索したとき、私は見つけました:-
1. config.assets.debug は production.rb で false である必要があります (false ですが動作していません)
2. public/assets ディレクトリは存在しないはずです (アプリにそのようなディレクトリはありません)
3本番環境で rake assets:clean を実行します (影響なし)
4. これらの 2 行を application.js から削除する必要があります:-
//= require jquery
//= require jquery_ujs

最後の1つは私にとってはうまくいきましたが、これらの行を削除した後、アプリケーション全体が影響を受け、すべてのjqueryイベントが機能しなくなりました。

私の知る限り、jquery が 2 回読み込まれている (ただし、複数の javascript_include_tag が使用されていない) か、「config.assets.compile」に問題があり、これは production.rb に当てはまります。

両方で正常に機能しているため、ローカルとherokuでも確認できません。

私のベンダー/資産/javascriptsのファイルのリスト:-

  • ブートストラップ.js
  • ブートストラップ-datepicker.js
  • chai.js
  • jquery-cookie.js
  • mocha.js
  • moment.js
  • require.min.js
  • text.js
  • アンダースコア-amd.js
4

2 に答える 2

1

私はRails 4を使用していますが、SOで見つけた答えはどれもこれを除いてうまくいきませんでした... application.html.erbの行を変更しました:

<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> 

<%= javascript_include_tag 'application', 'data-turbolinks-eval' => false %>.

https://github.com/rails/turbolinks/issues/244

于 2015-03-18T20:14:55.693 に答える
1

開発環境 (Rails 3.2.13) で同じ問題が発生しました。私は次のgemバージョン(Gemfile.lockから)を使用しています:bootstrap-sass(2.3.1.0)、sass-rails(3.2.6)、jquery-rails(2.2.1)。app/assets/javascripts/application.js 内:

//= require jquery  
//= require jquery_ujs  
//= require bootstrap  
//= require_tree  

application.html.erb で:

<%= javascript_include_tag "application" %>  

私のerbテンプレートでは:

<%= button_to 'Delete', @card_type, method: :delete, form_class: 'destroy_button',  
data: { confirm: "Are you sure?" } %>  

input[data-confirm] のハンドラーが 2 回追加されているようです。jquery-ujsを必要としないことで確認アラートの二重発火を排除しましたが、他の誰かがより満足のいく解決策を投稿することを望んでいます.

于 2013-05-11T18:43:31.960 に答える