将Rails变量插入jquery

将Rails变量插入jquery,jquery,ruby-on-rails,ruby,Jquery,Ruby On Rails,Ruby,我一直在遵循关于多个jquery时间跨度滑块的指南。我正在尝试从我的rails应用程序中获取每日开始值。我正在努力让变量正确插入jquery函数 我有一个一周中每天的字段,其中包括开始时间(每天)。例如: 显示滑块的jquery函数如下所示: _sliderhtml: function(day){ var displayday = day.charAt(0).toUpperCase() + day.substr(1); var html = ""+

我一直在遵循关于多个jquery时间跨度滑块的指南。我正在尝试从我的rails应用程序中获取每日开始值。我正在努力让变量正确插入jquery函数

我有一个一周中每天的字段,其中包括开始时间(每天)。例如:

显示滑块的jquery函数如下所示:

_sliderhtml: function(day){
            var displayday = day.charAt(0).toUpperCase() + day.substr(1);
            var html = ""+ 
                '<div class="fieldrow spacer">' +
                    '<div>' +
                      '<input type="text" name="location['+day+'_on_wifi]" id="'+day+'-time1" value="xxxxxxx" > - '+
var active_values = {
  monday:    "<%= @location.active_monday %>",
  tuesday:   "<%= @location.active_tuesday %>",
  wednesday: "<%= @location.active_wednesday %>"
};
\u滑块HTML:功能(天){
var displayday=day.charAt(0.toUpperCase()+day.substr(1);
var html=”“+
'' +
'' +
' - '+
在输入值中,我试图插入模型中的值,但无法找出正确的语法。我尝试过:

 value="<%= "@location.active_wednesday" %>
value=”
这是可行的,但我需要将日期替换为“+day+”。例如:

 value="<%= "@location.active_'+day+'" %>
value=”

有没有办法做到这一点,或者我需要重新思考吗?

您需要做的是分配一个javascript位置变量

var location = <%= @location.to_json %>;

您需要做的是分配一个javascript位置变量

var location = <%= @location.to_json %>;

您需要重新考虑。您不能在ruby代码上使用javascript变量(例如示例中的
day
),因为它已经运行。如果您需要javascript访问它,则需要在呈现视图上显示这些值

您可以尝试以下方法:

_sliderhtml: function(day){
            var displayday = day.charAt(0).toUpperCase() + day.substr(1);
            var html = ""+ 
                '<div class="fieldrow spacer">' +
                    '<div>' +
                      '<input type="text" name="location['+day+'_on_wifi]" id="'+day+'-time1" value="xxxxxxx" > - '+
var active_values = {
  monday:    "<%= @location.active_monday %>",
  tuesday:   "<%= @location.active_tuesday %>",
  wednesday: "<%= @location.active_wednesday %>"
};
var活动值={
星期一:,
星期二:,
星期三:“
};
然后,在JS函数中,只需访问数据:

'<input value="' + active_values[day] + '" />' ;
”;

您需要重新思考。您不能在ruby代码上使用javascript变量(例如示例中的
day
),因为它已经运行。如果您需要javascript访问它,则需要在呈现视图上显示这些值

您可以尝试以下方法:

_sliderhtml: function(day){
            var displayday = day.charAt(0).toUpperCase() + day.substr(1);
            var html = ""+ 
                '<div class="fieldrow spacer">' +
                    '<div>' +
                      '<input type="text" name="location['+day+'_on_wifi]" id="'+day+'-time1" value="xxxxxxx" > - '+
var active_values = {
  monday:    "<%= @location.active_monday %>",
  tuesday:   "<%= @location.active_tuesday %>",
  wednesday: "<%= @location.active_wednesday %>"
};
var活动值={
星期一:,
星期二:,
星期三:“
};
然后,在JS函数中,只需访问数据:

'<input value="' + active_values[day] + '" />' ;
”;

最好是在您的模型上添加一个方法。在天(day)中激活,然后在该方法中嵌入发送调用实际上我认为不会,因为天(day)是javascript函数的一个参数,但可能我误解了。很高兴我不是唯一一个挣扎的人!?尝试了,没有用。还尝试了“+day+”这就给了我#。星期一GRRRRRRRRRRRRRRRRRRRR实际上仍然不起作用。我错过了。你必须做一些不同的事情。不能在javascript运行时混合ERB。是的,得到一个未定义的方法“day”。尝试了一些具体的方法。谢谢。可能更好的方法是在你的模型上添加一个方法。为_day(day)获取_active_然后将send调用嵌入到该方法中实际上我认为它没有,因为
day
作为javascript函数的参数出现,但可能我误解了。很高兴我不是唯一一个挣扎的人!?!?尝试过,不起作用。还尝试了“+day+”这就给了我#。周一GRRRRRRRRRRRRRRRRRRRRRRRRRR实际上仍然不起作用。我错过了。你必须做一些不同的事情。不能在javascript运行时混合ERB。是的,得到了一个未定义的方法“day”。尝试了一些化身。不过谢谢。你是个天才!谢谢。只需对你的答案进行一个小小的编辑-在值周围插入“”即可。谢谢增益。哦,不客气:)我没有发现引用问题,你能指出它在哪一行吗?试图编辑你的帖子,但太短。需要在“和+。现在可以享受了!你真是个天才!谢谢。只需对你的答案进行一点小小的编辑-在值周围插入“”。再次感谢。哦,不客气:)我没有发现引用问题,你能指出它在哪一行吗?尝试编辑你的帖子,但太短了。需要在“”和+。现在可以享受了!