0

Railsコントローラーで配列を定義しています:

str_array = ["Hi","hello"]

アセットの下に保存されているJavaScriptファイルでこの配列にアクセスする必要があります。jsで配列の可変型の配列を定義しました。私はこのようにアクセスしようとしましたが失敗しました:

var js_arr = [<%= raw @str_array.to_json %>];

JavaScriptのrails配列にアクセスする他の方法はありますか?

4

3 に答える 3

0

そのJavaScriptファイルに.erb拡張子を追加しましたか?

于 2013-02-25T19:50:50.937 に答える
0

2つの方法があります。

1)必要に応じてajax経由でjavascriptに渡します。(例えば、ボタンクリックなど)。

2)アクセスするビューテンプレート(erb、haml、またはw / e)の1つにインラインJavaScriptを配置し、メソッド呼び出しで#{rails_array}.to_jsonを使用してrails配列を渡します。

1つ目は、よりクリーンでテスト可能であり、長期的にはより保守しやすいものです。2つ目は、実装が簡単です。

于 2013-02-25T19:51:00.000 に答える
0

RoRからJSにものを渡すための非常にクリーンな方法は、gongemです

erbなどの厄介な印刷変数はありません。

gonRoRコントローラーにデータを積み込むことができるというオブジェクトを取得します。レイアウトに追加include_gonすると、voilà-gonオブジェクトはJSでも使用できます。

于 2013-02-25T19:53:24.957 に答える