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 =[[#<JobCompact id: 841, language: "ruby", version: "1.609481891837258"
など に変換したためです。
また、結果をデコードしようとしました:
var curData = htmlentities((<%= BuildCompact.getData("ruby", "rubinius", 15) %>).toString());
そして、それの他の多くの変種ですが、私はそれを理解できません。誰かが同様の問題を抱えていましたか?
注:どこにエンコードすればよいかわからないため(RubyまたはJavascriptで)、投稿が重複していないことを願っています。