我试图在几天内找到答案但却一无所获。我知道有很多类似的问题,但他们无法帮助我。
我已经开始使用http://guides.rubyonrails.org/getting_started.html学习Rails,并且一直向前移动直到终端重启。这是一个错误消息和代码示例:
walker@DESKTOP-L15NDIS:~/blog$ rails routes
/home/walker/.rvm/gems/ruby-2.3.1/gems/railties-5.0.1/lib/rails/app_loader.rb:40:
warning: Insecure world writable dir
/home/walker/.rvm/gems/ruby-2.3.1@global/bin in PATH, mode 040777
config.eager_load is set to nil. Please update your config/environments/*.rb files accordingly:
* development - set it to false
* test - set it to false (unless you use a tool that preloads your test environment)
* production - set it to true
You don't have any routes defined!
Please add some routes in config/routes.rb.
For more information about routes, see the Rails guide: http://guides.rubyonrails.org/routing.html.
的routes.rb :
Rails.application.routes.draw do
root 'welcome#index'
resources :articles
end
配置/环境/ development.rb :
config.eager_load = false
配置/环境/ test.rb :
config.eager_load = false
配置/环境/ production.rb
config.eager_load = true
启动服务器:
walker@DESKTOP-L15NDIS:~/blog$ rails s
/home/walker/.rvm/gems/ruby-2.3.1/gems/railties-5.0.1/lib/rails/app_loader.rb:40:
warning: Insecure world writable dir /home/walker/.rvm/gems/ruby-2.3.1@global/bin in PATH, mode 040777
=> Booting Puma
=> Rails 5.0.1 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
config.eager_load is set to nil. Please update your config/environments/*.rb files accordingly:
* development - set it to false
* test - set it to false (unless you use a tool that preloads your test environment)
* production - set it to true
Puma starting in single mode...
* Version 3.7.0 (ruby 2.3.1-p112), codename: Snowy Sagebrush
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://0.0.0.0:3000
Use Ctrl-C to stop
Localhost显示错误消息:
您要查找的页面不存在。
您可能输错了地址或页面可能已移动。
控制台输出:
Started GET "/" for 127.0.0.1 at 2017-02-01 16:59:46 +0200 Started GET
"/" for 127.0.0.1 at 2017-02-01 16:59:46 +0200
ActionController::RoutingError (No route matches [GET] "/"):
ActionController::RoutingError (No route matches [GET] "/"):
actionpack (5.0.1) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call'
web-console (3.4.0) lib/web_console/middleware.rb:135:in `call_app'
web-console (3.4.0) lib/web_console/middleware.rb:28:in `block in call'
web-console (3.4.0) lib/web_console/middleware.rb:18:in `catch'
web-console (3.4.0) lib/web_console/middleware.rb:18:in `call'
actionpack (5.0.1) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
railties (5.0.1) lib/rails/rack/logger.rb:36:in `call_app'
railties (5.0.1) lib/rails/rack/logger.rb:24:in `block in call'
activesupport (5.0.1) lib/active_support/tagged_logging.rb:69:in `block in tagged'
activesupport (5.0.1) lib/active_support/tagged_logging.rb:26:in `tagged'
activesupport (5.0.1) lib/active_support/tagged_logging.rb:69:in `tagged'
railties (5.0.1) lib/rails/rack/logger.rb:24:in `call'
actionpack (5.0.1) lib/action_dispatch/middleware/request_id.rb:24:in `call'
rack (2.0.1) lib/rack/method_override.rb:22:in `call'
rack (2.0.1) lib/rack/runtime.rb:22:in `call'
activesupport (5.0.1) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'
actionpack (5.0.1) lib/action_dispatch/middleware/executor.rb:12:in `call'
actionpack (5.0.1) lib/action_dispatch/middleware/static.rb:136:in `call'
rack (2.0.1) lib/rack/sendfile.rb:111:in `call'
railties (5.0.1) lib/rails/engine.rb:522:in `call'
puma (3.7.0) lib/puma/configuration.rb:226:in `call'
puma (3.7.0) lib/puma/server.rb:578:in `handle_request'
puma (3.7.0) lib/puma/server.rb:415:in `process_client'
puma (3.7.0) lib/puma/server.rb:275:in `block in run'
puma (3.7.0) lib/puma/thread_pool.rb:120:in `block in spawn_thread'
你建议怎么解决这个问题?
注意: 所有这些工作都很有效,直到终端重启。
P.S。我创建了另一个应用程序,它可以正常工作直到终端重新启动。
P.P.S。我在Windows 10 Pro上运行Linux子系统。
P.P.P.S。我不能使用任何Linux发行版或购买MacBook
答案 0 :(得分:0)
对我来说,系统似乎对您的主文件夹的访问权限有问题。
尝试运行sudo chmod go-w /home/walker
,如果在其他路径上出现问题,请执行相同的操作。
检查类似的question。如果你想尝试没有'基础设施的Rails'问题,请在 cloud9 环境中查看https://www.railstutorial.org/及其选项。
答案 1 :(得分:0)