【发布时间】:2020-03-19 05:09:22
【问题描述】:
我正在尝试使用模块等在网页上打印名称,但我似乎无法弄清楚如何从模块文件中传递变量。
main.rb
require 'sinatra' # includes gem to process web pages
set :bind, '0.0.0.0' # sets default url address to localhost
require_relative('modules')
include Display_name
get "/" do
Display_name.disname()
erb :home
end
modules.rb
module Display_name
def disname()
@myname = "Bob"
end
end
views/home.erb
<h1> Hello <%= @myname %> </h1>
输出应该是你好,鲍勃,但我只是得到你好。
【问题讨论】:
-
我对sinatra一无所知,但你不应该在任何地方显式调用
Display_name#disname方法来设置这个变量吗? -
我不这么认为,
Display_name是模块名disname是方法名