/ / Errno :: ENOENT पर / नहीं ऐसी फ़ाइल या निर्देशिका - रूबी, sinatra

Errno :: ENOENT पर / नहीं ऐसी फ़ाइल या निर्देशिका - रूबी, sinatra

मैं वर्तमान में एक 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") }