मैं वर्तमान में एक sinatra ऐप पर काम कर रहा हूँ और मुझे एक छोटी सी समस्या है।
मैं अपने index.erb को लोड करने की कोशिश कर रहा हूं लेकिन sinatra index.erb नहीं ढूंढ सकता है।
यहाँ मेरा ऐप है। आरबी
require "rubygems"
require "sinatra"
module Registration
class HelloWorldApp < Sinatra::Base
get "/" do
erb :index
end
end
end
और यह मेरा कोड पदानुक्रम है।
यह निर्देशिका में देखता रहता है: सिनात्रा-परिचय / ऐप / विचार / index.erb लेकिन मेरे विचार इस में हैं: सिनात्रा-परिचय / विचार / index.erb
उत्तर:
जवाब के लिए 0 № 1आपको अपने एप्लिकेशन इंस्टेंस को कॉन्फ़िगर करने की आवश्यकता है, ऐसा कुछ काम करना चाहिए:
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
जवाब के लिए 0 № 2
आप व्यू सेटिंग के साथ डिफ़ॉल्ट स्थान बदल सकते हैं। ऐशे ही:
set :views, Proc.new { File.join(root, "views") }