0

Ruby on Rails と JavaScript を扱っています。
主な基本的な考え方は、モデルのクラス関数でオブジェクトを作成し、この関数を JavaScript で呼び出すことです。問題は、HTML エンティティがどこでもエンコードされていることです。

詳細:
モデルの関数getData(firstOpt, secondOpt, amount)で、次のようなオブジェクトを作成します (Ruby コンソールで関数を呼び出した場合)。

[#<JobCompact build_compact_id: 324>, #<JobCompact build_compact_id: 325>, #<JobCompact build_compact_id: 325>] 

これを配列の最初の位置に入れます (後でその配列にエントリを追加したいため)。

data[0] = firstLang  

(注: 私も試しました -> data[0] = firstLang.to_json)

最後に、配列データを返すだけです。次に、JavaScript で関数を呼び出します。

var curData = <%= BuildCompact.getData("ruby", "rubinius", 15) %>;

エラーは次のとおりです: Uncaught SyntaxError: Unexpected token ILLEGAL
ruby​​ 関数の結果を var curData =[[#&lt;JobCompact id: 841, language: &quot;ruby&quot;, version: &quot;1.609481891837258&quot;など に変換したためです。

また、結果をデコードしようとしました:
var curData = htmlentities((<%= BuildCompact.getData("ruby", "rubinius", 15) %>).toString());

そして、それの他の多くの変種ですが、私はそれを理解できません。誰かが同様の問題を抱えていましたか?

注:どこにエンコードすればよいかわからないため(RubyまたはJavascriptで)、投稿が重複していないことを願っています。

4

1 に答える 1

1

わかりました、私の質問への答えは次のとおりです。

var curData = <%=raw BuildCompact.getData("ruby", "rubinius", 500).to_json %>;
于 2013-01-07T16:50:42.280 に答える