Ruby on rails数据传递给javascript成为HTMLDIVELEMENT

时间:2015-08-12 09:34:07

标签: javascript ruby-on-rails

我正在尝试将ruby检索到的数据库值传递给javascript,以处理一些div显示。

奇怪的是,当我传递数字(意味着我从数据库中检索数字并传递给js)时,它运行正常,如下所示,此load_web是一个短整数。

if (<%= @device.load_web %>==0)
{ $('.somediv').find('input,textarea,select').attr('disabled',true); }
});

但是当我尝试相同的方法,将字符串传递给js时,它会返回HTMLDIVElement,这很奇怪。

if(<%= @device.brand%>=="apple")
    {
    alert("apple"); 
    }
    else
    {
    alert(<%= @device.brand %>);
    }

我的数据库中这个列的数据是“apple”,但逻辑属于else循环,并给我一个“对象HTMLDIVElement”消息。

为什么会这样?

修改 我尝试使用alert(&lt;%= @ device.brand%&gt; .innerHTML); 并获得以下消息: enter image description here

1 个答案:

答案 0 :(得分:1)

请记住,erb标记只是将ruby代码的结果插入到html模板中。因此,除非val A = List((List(A,B,C),X),(List(A,B,C),Y)) val rdd = sc.parallelize(A) val output = rdd.map(x=>(x._2,x._1)).flatMapValues(x=>x) 返回一些格式正确的javascript(或数字),否则您可能希望将其包装在字符串中。试试这个:

@device.brand