Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 在Rails的后端访问Javascript变量_Html_Ruby On Rails_Ruby_Coffeescript - Fatal编程技术网

Html 在Rails的后端访问Javascript变量

Html 在Rails的后端访问Javascript变量,html,ruby-on-rails,ruby,coffeescript,Html,Ruby On Rails,Ruby,Coffeescript,我的Coffeescript文件(my_widget.coffee)中有我想要在ruby文件my_job.rb的后端访问和使用的值 如何从Rails的后端访问此Javascript值?您不能简单地共享和访问前端和后端分别运行的独立脚本中的变量。如果要将值从前端传递到后端,则需要使用Ajax 您可以在Rails中执行类似操作: 使用Ajax传递值 然后创建一个新路由来接收它 #config/routes.rb 将“/run_job”张贴到:“jobs#run” 并添加一个控制器方法,该方法接收传

我的Coffeescript文件(
my_widget.coffee
)中有我想要在ruby文件
my_job.rb
的后端访问和使用的值

如何从Rails的后端访问此Javascript值?

您不能简单地共享和访问前端和后端分别运行的独立脚本中的变量。如果要将值从前端传递到后端,则需要使用
Ajax

您可以在
Rails
中执行类似操作:

使用Ajax传递值 然后创建一个新路由来接收它
#config/routes.rb
将“/run_job”张贴到:“jobs#run”
并添加一个控制器方法,该方法接收传递的值并使用它执行您的
my_job.rb

#app/controllers/jobs_controller.rb
def运行
传递的_变量=参数[:my_var]
#现在用'passed_variable'调用my_job.rb
结束

这太完美了!马上就开始工作了!数小时的搔头问题在几秒钟内解决!!
# app/assets/javascript/my_widget.coffee

$.ajax '/run_job',
  type: 'POST'
  data:
    my_var: variable_you_want_to_pass