在 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
我想在我的控制器文件中包含一个辅助方法,以便执行在 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