Ruby on rails 服务器上的Ruby On Rails路由
我在Mac上安装了Rails环境 本地:Ruby on rails 服务器上的Ruby On Rails路由,ruby-on-rails,ruby,ruby-on-rails-3,passenger,rails-routing,Ruby On Rails,Ruby,Ruby On Rails 3,Passenger,Rails Routing,我在Mac上安装了Rails环境 本地:~/GitHub/Warehouse/ 服务器:http://localhost:3001/ 这是我的/config/routes.rb: Warehouse::Application.routes.draw do resources :events resources :locations resources :categories resources :items get "home/index" r
~/GitHub/Warehouse/
服务器:http://localhost:3001/
这是我的/config/routes.rb:
Warehouse::Application.routes.draw do
resources :events
resources :locations
resources :categories
resources :items
get "home/index"
root :to => "home#index"
end
我将应用程序放在服务器上的文件夹~/warehouse
中。它有一个符号链接~/public\u html/warehouse/
,指向~/warehouse/public
所以我的url是:
我得到以下错误:
Started GET "/warehouse" for 184.175.153.98 at Sat Nov 24 21:47:24 -0500 2012
ActionController::RoutingError (No route matches [GET] "/warehouse"):
vendor/bundle/ruby/1.8/gems/actionpack-3.2.9/lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
vendor/bundle/ruby/1.8/gems/actionpack-3.2.9/lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
vendor/bundle/ruby/1.8/gems/railties-3.2.9/lib/rails/rack/logger.rb:32:in `call_app'
vendor/bundle/ruby/1.8/gems/railties-3.2.9/lib/rails/rack/logger.rb:16:in `call'
vendor/bundle/ruby/1.8/gems/activesupport-3.2.9/lib/active_support/tagged_logging.rb:22:in `tagged'
vendor/bundle/ruby/1.8/gems/railties-3.2.9/lib/rails/rack/logger.rb:16:in `call'
vendor/bundle/ruby/1.8/gems/actionpack-3.2.9/lib/action_dispatch/middleware/request_id.rb:22:in `call'
vendor/bundle/ruby/1.8/gems/rack-1.4.1/lib/rack/methodoverride.rb:21:in `call'
vendor/bundle/ruby/1.8/gems/rack-1.4.1/lib/rack/runtime.rb:17:in `call'
vendor/bundle/ruby/1.8/gems/activesupport-3.2.9/lib/active_support/cache/strategy/local_cache.rb:72:in `call'
vendor/bundle/ruby/1.8/gems/rack-1.4.1/lib/rack/lock.rb:15:in `call'
vendor/bundle/ruby/1.8/gems/rack-cache-1.2/lib/rack/cache/context.rb:136:in `forward'
vendor/bundle/ruby/1.8/gems/rack-cache-1.2/lib/rack/cache/context.rb:245:in `fetch'
vendor/bundle/ruby/1.8/gems/rack-cache-1.2/lib/rack/cache/context.rb:185:in `lookup'
vendor/bundle/ruby/1.8/gems/rack-cache-1.2/lib/rack/cache/context.rb:66:in `call!'
vendor/bundle/ruby/1.8/gems/rack-cache-1.2/lib/rack/cache/context.rb:51:in `call'
vendor/bundle/ruby/1.8/gems/railties-3.2.9/lib/rails/engine.rb:479:in `call'
vendor/bundle/ruby/1.8/gems/railties-3.2.9/lib/rails/application.rb:223:in `call'
vendor/bundle/ruby/1.8/gems/railties-3.2.9/lib/rails/railtie/configurable.rb:30:in `send'
vendor/bundle/ruby/1.8/gems/railties-3.2.9/lib/rails/railtie/configurable.rb:30:in `method_missing'
passenger (3.0.15) lib/phusion_passenger/rack/request_handler.rb:96:in `process_request'
passenger (3.0.15) lib/phusion_passenger/abstract_request_handler.rb:516:in `accept_and_process_next_request'
passenger (3.0.15) lib/phusion_passenger/abstract_request_handler.rb:274:in `main_loop'
passenger (3.0.15) lib/phusion_passenger/rack/application_spawner.rb:206:in `start_request_handler'
passenger (3.0.15) lib/phusion_passenger/rack/application_spawner.rb:171:in `send'
passenger (3.0.15) lib/phusion_passenger/rack/application_spawner.rb:171:in `handle_spawn_application'
passenger (3.0.15) lib/phusion_passenger/utils.rb:470:in `safe_fork'
passenger (3.0.15) lib/phusion_passenger/rack/application_spawner.rb:166:in `handle_spawn_application'
passenger (3.0.15) lib/phusion_passenger/abstract_server.rb:357:in `__send__'
passenger (3.0.15) lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
passenger (3.0.15) lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
passenger (3.0.15) lib/phusion_passenger/abstract_server.rb:180:in `start'
passenger (3.0.15) lib/phusion_passenger/rack/application_spawner.rb:129:in `start'
passenger (3.0.15) lib/phusion_passenger/spawn_manager.rb:253:in `spawn_rack_application'
passenger (3.0.15) lib/phusion_passenger/abstract_server_collection.rb:132:in `lookup_or_add'
passenger (3.0.15) lib/phusion_passenger/spawn_manager.rb:246:in `spawn_rack_application'
passenger (3.0.15) lib/phusion_passenger/abstract_server_collection.rb:82:in `synchronize'
passenger (3.0.15) lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
passenger (3.0.15) lib/phusion_passenger/spawn_manager.rb:244:in `spawn_rack_application'
passenger (3.0.15) lib/phusion_passenger/spawn_manager.rb:137:in `spawn_application'
passenger (3.0.15) lib/phusion_passenger/spawn_manager.rb:275:in `handle_spawn_application'
passenger (3.0.15) lib/phusion_passenger/abstract_server.rb:357:in `__send__'
passenger (3.0.15) lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
passenger (3.0.15) lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
passenger (3.0.15) helper-scripts/passenger-spawn-server:99
我的routes.rb表应该是什么样子??我对此感到困惑。请让我知道我应该做些什么使这项工作。提前谢谢你 尝试更改您的
config.ru
map "/warehouse" do
run Warehouse::Application
end
这会将您的应用程序和机架中间件装载到指定的路径或URI及其下的所有子路径,因此您的路由应该可以正常工作。如果您的资产有问题,请在config/environments中的环境配置文件中调整
config.action\u controller.asset\u host
尝试使用名称空间。你还需要
namepace :warehouse do
resources ....
end
“仓库”页面“主页”的根目录Rails应用程序通常喜欢位于域的根目录。如果你决定不这样做,事情会变得更复杂。建议我改为做子域?是的,像warehouse.domain.com/这样的东西会让你的生活更轻松。@AlexWayne,谢谢你的提示!其他人对我如何做到这一点有什么答案吗?如果那是我决定走的路线?我不知道你在做什么。您正在运行哪个应用程序服务器?您的apache/nginx配置是什么?