在rails helper中使用javascript范围变量

时间:2012-04-05 12:17:06

标签: ruby-on-rails

在一些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变量的轨道方式是什么?

任何指示/建议都会很有帮助。

日Thnx。

1 个答案:

答案 0 :(得分:0)

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