在 Rails 中包含一个方法

Including a method in Rails

我想在我的控制器文件中包含一个辅助方法,以便执行在 SQLite3 中创建新 table 的任务。因此,在另一个文件中,我创建了一个名为 "Helper" 的模块,其中包含一个名为 "add_table(name)" 的方法,其中 objective 将 table 命名为传入的名称。这是我的模块文件的样子。

module Helper

def add_table(username)
    db = SQLite3::Database.new("helper_database")
    create_table = <<-SQL 
        CREATE TABLE IF NOT EXISTS "#{username}" (
            id INTEGER PRIMARY KEY,
            user_id INT,
       );   
    SQL
    db.execute(create_table)

在我的控制器文件中,我要求 ruby 文件位于顶部。我在视图文件中有一个表单,它会要求用户输入一个名称,在 post 请求之后获取名称参数并将该名称插入到方法中。

require_relative 'helper_method'
post '/new_user' do
    include Helper
    add_table(params[:username])
    redirect '/index' 
    end

关于为什么我可能会收到 "include" 的未定义方法错误的任何想法?

(undefined method `include' for #<Sinatra::Application:0x007feb24f5e5a8>)

你试过这样的东西吗?

require_relative 'helper_method'
include Helper

post '/new_user' do
  add_table(params[:username])
  redirect '/index' 
end