0

次のRubyコードがあります。

<%= link_to "Install", install_game_path(game), :remote => true, :confirm => "Download local content for #{game.name}?", :title => "Install #{game.name}", :id => "game_#{game.id}_install_link" %>

これにより、次のようなコード行が生成されます。 <a href="/games/install/3" data-confirm="Download local content for GAME 1?" data-remote="true" id="game_1_install_link" title="Install GAME 1">Install</a>

ただし、私の開発環境では、2 つの Javascript アラート プロンプトが生成されます。Firefox で Javascript/JQuery エラーは発生しません。このダイアログが 2 回表示されるのはなぜですか ([OK] または [キャンセル] のどちらをクリックしても)。

編集

<%= javascript_include_tag "application" %>
<%= javascript_include_tag 'http://github.com/cowboy/jquery-dotimeout/raw/v1.0/jquery.ba-dotimeout.min.js' %>

次のコードを生成します。

<script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
<script src="/assets/games.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery.ba-dotimeout.min.js?body=1" type="text/javascript"></script>
<script src="/assets/pages.js?body=1" type="text/javascript"></script>
<script src="/assets/servers.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>
<script src="http://github.com/cowboy/jquery-dotimeout/raw/v1.0/jquery.ba-dotimeout.min.js" type="text/javascript"></script>

application.js ファイルには、デフォルトのコンテンツのみが含まれています。

//= require jquery
//= require jquery_ujs
//= require_tree .
4

3 に答える 3

1

誤って rails.js のコピーを 2 つ含めてしまったようです。レンダリングされたページの HEAD タグを確認できますか? また、Rails 3.1 以降を使用している場合は、rails.js の代わりに jquery.js と jquery_ujs を確認してください。どこかでjsファイルを2回呼び出しています。

于 2013-05-01T19:28:17.327 に答える
0

「data-confirm」属性の Rails ハンドラが 2 回割り当てられているようです。

JavaScript タグ (javascript_include_tag) を 2 回追加した可能性はありますか?

于 2013-05-01T19:24:58.107 に答える