2016-08-08 7 views
0

私はビューでそれを使うためにレールにvarを送ります。私はjsファイル名charts.js.erbが呼び出されています。私は私がをレールに入れてみましたが、jsファイルの中には何も表示されません。

.div= @asd 

が、私のjavascriptのファイルに

を行うことができます私の見解では方法

def index 
    @asd = 'hellow' 
    end 

を持っているという点で、VARを使用する必要があるファイルをJSが、私のコントローラAに

nilであります

alert('<%= @asd %>'); 

@asdのVaRは、私は他のRubyコードに作品を使用してnilをテストしてみたが、VARSはERBはJavaScriptでどのように動作するかではありません

+0

があなたのdivと同じビューでそのアラートですか?はいの場合は、動作するはずです。それが資産/ javascriptのどこかにあれば、それはうまくいかないはずです。 –

+0

respond_toブロックを使用してみてください。 –

+0

いいえ@SergioTulentsev、私はそのjsに添付されたcharts.jsファイルを持っていて、そのアラートにはanithingが表示されません。私は広告varをテストし、ゼロではない – jacr1614

答えて

2

を動作しません。 JSファイルはランタイム前に生成されるため、そのような動的サーバー値にはアクセスできません。

通常は、サーバーで生成された値をDOMのどこかに置いてJSが取り上げるようにしています。

<div id="asd" data-asd="<%= @asd %>"> 
その後

あなたはたとえば、jQueryのを使用している場合:

var asd = $('#asd').data('asd'); 
関連する問題