繁体   English   中英

在javascript HAML中将javascript变量传递给ruby函数调用

[英]passing javascript variable to ruby function call in javascript HAML

我正在使用Sinatra,Ruby,HAML和JavaScript

所以我想出了如何在HAML JavaScript中调用ruby函数

@@layout
%html
    %head
        %title #{@title}
          :javascript
              var retval
              function diff_by_company_id() {
                 retval = "#{ruby_function()}";
              }

但是,我现在需要将ruby函数传递给一个javascript变量,但我不确定该怎么做。 这是我尝试过的,显然不起作用。

def test(input)
    return "Output Number: "+input.to_s + "!"
end

@@layout
%html
    %head
        %title #{@title}
          :javascript
              var retval
              function diff_by_company_id() {
                 var input = 1;
                 retval = "#{ruby_function("input")}";
              }

而不传递输入值1,而是传递字符串输入。

所以我得到的是: retval = Output Number: input!

我想要的是: retval = Output Number: 1!

任何有关如何正确通过此方法的帮助将不胜感激。

Ruby在服务器端执行,而javascript在客户端执行。 现在起作用的原因是在加载页面时执行了ruby代码。

如果不向服务器发出AJAX请求,则不可能“将javascript变量传递给ruby”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM