所以,我在控制器中有这个代码:
before_filter :require_login, :only => :new, :edit, :destroy
我的控制器有以下方法:索引,新建,编辑,创建,更新,显示,销毁。 我想要做的是使用login_required(代码中的:require_login)保护方法: new,edit,destroy,但是上面的代码不起作用,如果我有,我可以保护一种方法,例如:
before_filter :require_login, :only => :new
但我想保护他们三个,我该怎么做?
答案 0 :(得分:3)
您在only
选项的值附近缺少方括号:
before_filter :require_login, :only => [:new, :edit, :destroy]
它不起作用,因为Ruby解释器不知道只在哪里启动选项和before_filter
的参数继续。在这种情况下,您需要明确容器。
答案 1 :(得分:0)
使用数组:
before_filter :require_login, :only => [:new, :edit, :destroy]
答案 2 :(得分:0)
哦,我是个傻瓜!这只是把它们放在数组形式的问题 - 像这样:
before_filter :require_login, :only => [:new, :edit, :destroy]
抱歉这个显而易见的问题。