2

コントローラーから JS 配列にハッシュを渡したいのですが、うまくいきます。これらは私がすることです:

@tag_cloud = []    
@tag_cloud[0] = {}
@tag_cloud[0]["text"]="Lorem"
@tag_cloud[0]["weight"]=15
.....     

ビューで:

 var word_list =<%=@tag_cloud.to_json%>
 $(function() {
   $("#my_tag_cloud").jQCloud(word_list);
 }); 

json を読み込めない理由がわかりませんword_list

4

3 に答える 3

1

使用する

var word_list =<%= raw @tag_cloud.to_json%>

として引用符をエスケープするのを防ぐために&quot;

于 2014-03-06T14:10:12.213 に答える
1

jQCloud は、小文字の属性で動作します。たとえば、 "text","link" ですが、"Text","Link" などではありません。

于 2012-07-17T13:59:18.620 に答える
0

他の場所で最小限の作業レールバージョンを見つけることができなかったため:

インストール手順に従っていると思います。

JQCloud rails gem が魔法のように機能するために便利な形式は、ハッシュの配列です。通常、コントローラーをスリムに保つためにこれをモデルに組み込みますが、最小限のデモを表示するために、次の定義をコントローラー アクションに入れることができます。

@tag_cloud = [
   { text: "test", weight: 15},
   { text: "Ipsum", weight: 9, link: "http://jquery.com/"},
   { text: "Dolor", weight: 6, html: {title: "I can haz any html attribute"}},
   { text: "Sit", weight: 7},  {text: "Amet", weight: 5}
]

次に、対応するビューに追加します

<script type="text/javascript">
  var word_array =  <%= raw @tag_cloud.to_json %> ;
  $(function() {
    // When DOM is ready, select the container element and call
    // the jQCloud method, passing the array of words as the first argument.
    $("#example").jQCloud(word_array);
  });
</script>

<div id="example" style="width: 550px; height: 350px;"></div>

...そして、単語の雲が表示されるはずです。

于 2015-11-20T11:30:02.517 に答える