2012-04-05 4 views
0

一部のjavascript関数では、変数を渡しています。今私はレールのヘルパーメソッドjavascriptスコープ付き変数をレールヘルパー内で使用する

コードスニペット内でこの変数を使用したいのは次のようになります。

function changeDate(cell,id) 
{ 
    cell.innerHTML = '<%= text_field_tag "start_date#{id}","{@now.to_date}", :size => 10, :class => nil %><%= escape_javascript(calendar_for("start_date#{id}"))%>'; 
} 

以上が同じことをやっての間違った方法です。これを行うには

一つの方法は、私がこの

function changeDate(cell,id) 
{ 
    cell.innerHTML = '<input class="date noborder" id="start_date' + id + '" name="start_date" size="10" type="text" value="2012-04-05" />...'; 
} 

よう

ので、私は簡単にjavascriptの変数を使用することができる代わりに、レールヘルパーのJS機能に直接ヘルパーメソッドによって生成されたHTMLを使用し、可能性があり私の機能の中に。

しかし、私はより良いアプローチを探しています。

javascript変数をレールヘルパー内で使用する方法は何ですか?

いずれの指示や示唆も役に立ちます。

Thnx。

答えて

0

私はJavaScriptのエキスパートではありませんが、私の経験によれば、私は基本的な問題は、あなたのjavascriptとあなたのerbは別の場所で実行されていると思う。 erbはサーバー側で実行されます。つまり、クライアント側で動作するjavascriptはまだ実行を開始していません。したがって、erbが実行されている間、与えられたjs変数の値がどのようなものになるのかをerbが知る方法はありません。

+0

でも私はそう思った。 theresがうまくいくかどうかを見てみましょう。あなたの返信thnx。 –

関連する問題