1

我正在尝试创建一个启动页面。我找到了这篇文章,但我似乎无法为 before_filter 找到正确的语法。这是我所拥有的:

 before_filter redirect_to root_path

(我将根路径更改为启动页面。)

但它会弹出这个错误:

Routing Error

undefined local variable or method `root_path' for ApplicationController:Class

知道我做错了什么吗?

4

2 回答 2

3

澄清:root_path 作为实例方法存在,而不是在类设置期间作为类方法存在。因此,需要块或方法调用来将调用或 root_path 推迟到调用的实际时间,而不是在类加载期间。

出于某种原因,有人删除了正确答案:将其移至块状:

before_filter do
  redirect_to root_path
end

假设 root_path 指向 :index,你可以:

before_filter(:except => :index) do
  redirect_to root_path
end
于 2012-04-12T03:12:32.110 回答
1

rake routes并确保root已定义。

例如,您root :to => "home#index"在 routes.rb 文件的底部。

用真实的控制器/动作替换 home#index

于 2012-04-12T03:07:09.987 回答