我正在尝试创建启动页面。我找到了这个post,但我似乎无法为before_filter获得正确的语法。这就是我所拥有的:
before_filter redirect_to root_path
(我将根路径更改为启动页面。)
但它突然出现了这个错误:
Routing Error
undefined local variable or method `root_path' for ApplicationController:Class
知道我做错了吗?
答案 0 :(得分: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
答案 1 :(得分:1)
rake routes
并确保root
已定义。
e.g。您在routes.rb文件的底部有root :to => "home#index"
。
将home #index替换为真实的控制器/动作