我目前正在研究sinatra应用程序,我有一点问题。
我试图加载我的index.erb但是sinatra找不到index.erb。
这是我的app.rb
require 'rubygems'
require 'sinatra'
module Registration
class HelloWorldApp < Sinatra::Base
get '/' do
erb :index
end
end
end
这是我的代码层次结构。
继续查看目录:Sinatra-Intro / app / views / index.erb 但我的观点是:Sinatra-Intro / views / index.erb
答案 0 :(得分:0)
您可以使用视图设置更改默认位置。像这样:
set :views, Proc.new { File.join(root, "views") }
答案 1 :(得分:0)
您需要配置您的应用程序实例,这样的事情应该有效:
require 'rubygems'
require 'sinatra'
module Registration
class HelloWorldApp < Sinatra::Base
configure do
set :public_folder , File.expand_path('../public', __FILE__)
set :views , File.expand_path('../views', __FILE__)
set :root , File.dirname(__FILE__)
set :show_exceptions, development?
# Optional: Load from external file
#YAML.load_file('path/to/config.yml').each do |k, v|
# set(k.to_sym, v)
#end
end
get '/' do
erb :index
end
end
end
然后:
bundle exec rackup