首页 > 解决方案 > 将文件中的参数传递给控制器

问题描述

我想知道如何将 file.rb 直接运行到控制器中。例如,我遵循了 Twilio 的 tuto,它正在使用命令:“ruby test.rb”进入终端以将文件 test.rb 运行到 app 文件夹中。

但我不知道如何将这个文件直接运行到我的控制器中。例如 :

TestController.rb 
 def test_sms
  run "test.rb"
 end
end

更新

根据@Seth 的回答,好的解决方案看起来像这样。

我的文件:

class Test
  attr_accessor :body

  def initialize
    # ...
  end

  def do_something
    self.body = "Test string params"
  end
end

我的控制器:

require "path/to/file"
class TestController < ApplicationController
  def test_sms
    test = Test.new
    test.do_something
    body = test.body
    print body
  end
end

标签: ruby-on-railsruby

解决方案


给定一个测试文件,如下所示:

# your file
class Test
  def initialize
    # ...
  end

  def do_something
    # ...
  end
end

您需要做的就是要求该文件,然后调用您需要的任何内容:

# your controller
require "path/to/file"
class TestController < ApplicationController
  def test_sms
    test = Test.new
    test.do_something
  end
end

推荐阅读