为什么我的铁路路线有点偏离?

时间:2011-10-06 02:29:00

标签: ruby-on-rails ruby ruby-on-rails-3 routes rails-admin

我有我的根路线

root :to => 'home#index'

这是我的家庭控制器,如果我访问http://localhost:3000/所有工作都很棒我打了正确的家庭控制器和索引操作。然后我安装了这个gem rails_admin但是当我访问http://localhost:3000/admin时,我点击了我的应用程序控制器中的方法

rescue_from CanCan::AccessDenied do |exception|
  redirect_to root_path, :alert => exception.message
end

并得到此错误,现在我有可能出现路由错误......任何想法

Routing Error

No route matches {:controller=>"home"}

3 个答案:

答案 0 :(得分:4)

如果您在引擎内引用应用的路线或config/initializers/rails_admin.rb,则应在其前面添加main_app.

redirect_to main_app.root_path, :alert => exception.message

答案 1 :(得分:3)

我认为问题在于rails_admin引擎中没有HomeController,它有自己的路由,不知何故它停在那里(因为引擎中没有这样的控制器)。我尝试使用:

redirect_to root_url

甚至是

redirect_to '/'

这最后一种方式意味着rails不必通过调用URL来尝试找出路径,并且在使用Engines时可能更安全。

答案 2 :(得分:-1)

看起来您没有定义家庭控制器。

尝试在“root”定义上方添加以下内容:

resources :home, :only => :index

我还建议阅读Rails网站上的official Routes guide