如何将javascript变量传递给rails控制器?

时间:2016-06-24 05:11:11

标签: javascript ruby-on-rails

如何将日期变量传递给erb puts命令

function myDayClickHandler(eventObj){
var date = eventObj.data.calDayDate;
<%puts "asdf",date%>
};

2 个答案:

答案 0 :(得分:1)

Javascript和Ruby是非常不同的东西。 Javascript是客户端,在浏览器中运行。 Ruby在服务器端运行,与客户端代码分开。

Ruby代码(示例中为<% .. %>部分)在服务器上运行。

Javascript代码(var date = eventObj.data.calDayDate;)在浏览器中执行。它也在Ruby代码之后执行,当服务器已经处理了请求并生成了结果页面时。

如果您想知道服务器上date的值,您必须在AJAX请求中将其从浏览器发送到服务器。任何流行的Javascript库都会对此有所帮助。

答案 1 :(得分:0)

要从Javascript将数据传递到Rails控制器,您需要通过在URL中附加查询参数来传回数据。

http://www.google.com?variable1=1&variable2=2

然后在rails控制器中使用

访问变量
params[:variable1] or params[:variable2]

您可以使用自定义控制器操作来执行活动,使用javascript提交或呈现,或使用传统HTML。 Javascript将是用户体验的首选。