0

在一些 javascript 函数中,我正在传递一个变量。现在我想在 rails helper 方法中使用这个变量

代码片段如下所示:

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

以上是错误的做法。

一种方法是,我直接在 js 函数中使用 helper 方法生成的 html 而不是 rails helper

像这样

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 helper中使用javascript变量的rails方式是什么?

任何方向/建议都会非常有用。

谢谢。

4

1 回答 1

0

我不是 javascript 专家,但根据我的经验,我会这么说,不。我认为根本问题是您的 javascript 和您的 erb 在不同的地方运行。erb 在服务器端运行,这意味着运行客户端的 javascript 甚至还没有开始执行。因此,当 erb 运行时,您的 erb 无法知道给定 js 变量的值是多少。

于 2012-04-05T12:38:03.037 回答