私のレールアプリケーションでは、私の自動完了のためにapplication.jsスクリプトのdocument.ready関数を呼び出そうとしています。この関数はfile.ieを再ロードする際に2回呼び出されますたとえ私が= javascript_include_tag:defaultsを含んでいなくても、:cache =>それが一度呼び出され、そのインクルードされたものが二度呼び出された場合trueです。このため、私が渡している値はnullに置き換えられます。何故2度呼び出されたのか?私のapplication.js document.ready関数が2回呼び出されました
%td.grid.full_panels
-table_panel "Assign Testers" do
%table
%th Name
-puts "testers=#{@testers}"
= form.label :tester_tokens, "Testers"
= form.text_field :tester_tokens
- @testers.each do |tester|
%tr
%td=tester.name
%td=check_box_tag "release[tester_ids][]", tester.id, @release.is_tester_assigned(tester)
//=will_paginate @testers
[email protected]=["sramya","scharron"]
:javascript
var data='#{escape_javascript @names.to_json.html_safe}'
= javascript_include_tag :defaults,:cache =>
私application.jsファイル:
$(document).ready(function() {
console.log("inside application");
data1='["sramya","scharron"]';
console.log("before parsing"+data+",data1="+data1);
data=$.parseJSON(data);
data1=$.parseJSON(data1);
//console.log(data1);
console.log("after parsing"+data+",data1="+data1);
$('#release_tester_tokens').autocomplete({source:data1});
});
何らかの理由でapplication.jsが2回ロードされていますか?あなたのWebページのhtmlソースを確認してください。 –