私は現在シンシアのアプリと少し問題がある私の仕事に取り組んでいます。
私は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です
回答:
回答№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
回答№2の場合は0
ビューの設定でデフォルトの場所を変更することができます。このような:
set :views, Proc.new { File.join(root, "views") }