0

一部の JavaScript 関数では、変数を渡しています。Railsヘルパーメソッド内でこの変数を使用したい

コード スニペットは次のようになります。

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}"))%>';
}

上記は、同じことを行う間違った方法です。

これを行う1つの方法は、ヘルパーメソッドによって生成されたhtmlを、railsヘルパーの代わりにjs関数で直接使用することです

このような

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 変数を簡単に使用できます。

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

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

指示/提案は素晴らしく、役に立ちます。

サンクス。

4

1 に答える 1

0

私は JavaScript の専門家ではありませんが、私の経験から言うと、ノーです。基本的な問題は、JavaScript と erb が別の場所で実行されていることだと思います。erb はサーバー側で実行されます。つまり、クライアント側で実行される JavaScript はまだ実行を開始していません。したがって、erb の実行中に、指定された js 変数の値がどうなるかを erb が知る方法はありません。

于 2012-04-05T12:38:03.037 に答える