我在 Rails 3 的routes.rb文件中有以下内容:
13 namespace :user do
14 root :to => "users#profile"
15 end
我在heroku上收到此错误:
ActionController::RoutingError (uninitialized constant User::UsersController):
我已经重新启动了该应用程序。
我这样做是因为我正在使用设计,这就是它在维基上所说的内容:
答案 0 :(得分:3)
问题是Rails期望在名为Users
的模块中有一个控制器,因为这是namespace :user
推断的内容。也许您打算使用scope
代替namespace
?
scope :path => "user" do
root :to => "users#profile"
end
注意:在这种情况下,如果你只有一条路线,那么使用scope
是不明智的,但是如果你有多个具有/user
前缀的路线那么它会很好至。如果你只有一个,我会这样做:
get '/user', :to => "users#profile"
答案 1 :(得分:1)
Heroku环境在生产模式下运行。当您在本地运行时,您将以开发模式运行,该模式至少存在一个差异。试试这个:
RAILS_ENV=production bundle exec rails s
并查看是否发现了同样的错误。