することができます。あなたはそれについて忘れることができます
<script src="your-js-file.js"></script>
:
まず第一に、あなたはjavascriptのファイルを考えている場合は、次のように含まれています。決してRoRはそのファイルに対して何もしていません。
コントローラレスポンスでjavascriptをRoRと混在させることができます.jsファイルはRoRによって読み込まれ、その後Rubyの式が評価され、ブラウザに返されます。あなたはあなたのような何かのためのコントローラからのjs応答を見てみる場合は実際には、こう書いています
function bar() {
parameters.push("abc");
parameters.push("def");
parameters.push("ghi");
parameters.push("jkl");
}
Javascriptがクライアント側の技術です:
function bar() {
<% Model.parameter_names.each do |name|
parameters.push("<%= name %>");
<% end %>
// do something with them
}
あなたのような何かを見るでしょう。サーバーサイドコードを追加する唯一の方法は、実際にサーバーサイドコードでjsファイルを生成することです。これはおそらくあなたのベストショットです。
コントローラー:
<script src="<%= jsfile_controllername_path %>"></script>
そしてroutes.rb
に対応するルートを追加します。
def jsfile
@variable = "hello, world!"
respond_to do |format|
format.js
end
end
jsfile.js.erb
function bar() {
alert('<%= @variable %>');
}
は、このようなJavaScriptのファイルをインクルード