【问题标题】:Access Javascript variable on the Backend in Rails在 Rails 后端访问 Javascript 变量
【发布时间】:2016-08-19 15:17:08
【问题描述】:

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

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

【问题讨论】:

    标签: html ruby-on-rails ruby coffeescript


    【解决方案1】:

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

    你可以在Rails做这样的事情:

    使用Ajax传值

    # app/assets/javascript/my_widget.coffee
    
    $.ajax '/run_job',
      type: 'POST'
      data:
        my_var: variable_you_want_to_pass
    

    然后新建一个Route来接收它

    # config/routes.rb
    
    post '/run_job', to: 'jobs#run'
    

    并添加一个控制器方法,该方法接收传递的值并使用它执行您的my_job.rb

    # app/controllers/jobs_controller.rb
    
    def run
      passed_variable = params[:my_var]
    
      # now invoke your my_job.rb with the 'passed_variable'
    end
    

    【讨论】:

    • 这太完美了!马上工作了!在几秒钟内解决了几个小时的头疼问题!
    猜你喜欢
    • 2014-11-09
    • 1970-01-01
    • 1970-01-01
    • 2012-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-21
    相关资源
    最近更新 更多