5

.coffeeスクリプト内で値を渡す最も良い方法は何ですか?ファイルの名前を.erbに変更すると、自分のアプリが壊れてしまいます。.coffeeのjavascriptファイルにrails code/pass変数を使用する方法は?

+0

[Rails:CoffeeScriptまたはJavaScriptアセットファイルのアクセスコントローラインスタンス変数]の複製可能性(http://stackoverflow.com/questions/8513912/rails-access-controller-instance-variable-in-coffeescript-or-javascript -asset-f) –

答えて

9

このレールガイドをチェックアウトします。このセクション:2.3.3 JavaScript/CoffeeScript and ERB .coffee-scriptファイルでは、railsコードを使用できます。これは組み込みの機能です。

第二Edit___

ファイルは、資産のパイプラインであるなら、あなたはレールのタグが機能するように、コーヒー・ファイルの末尾に.erb拡張子を追加する必要がそうしている場合.erb拡張子を追加する必要はありませんビューフォルダのファイルを移動するrailsタグはそこで動作します。

+0

あなたがリンクした文書は、拡張子を.coffeeから.coffee.erbに変更する必要があると思います。 –

+0

編集部分を確認してください。 –

+0

ファイルに 'erb'を追加してください! –

3

(1)ファイルをapp/viewsディレクトリに移動する(アセットパイプラインにないようにする)か、(2)クエリ文字列で情報を渡すことができます。

(1)アプリ/ビュー/ユーザー/ script.js.coffee.erb

var username = <%= @user.name %> 

(2)私が使用しているthis機能

<%= link_to "User", user_path(@user, :username => @user.name) %> 
... 
var username = getParameterByName('username') 

テストされていないが、これは一般的な考え方であります。

関連する問題