排除时为什么验证不起作用:指向变量?

roc*_*ist 0 arrays validation ruby-on-rails

我在ActiveRecord验证中有以下内容:

validates :username, :exclusion => { :in => %w(admin admins administrator administrators), :message => "\"%{value}\" is reserved."}
Run Code Online (Sandbox Code Playgroud)

这应该是有效的.但当我用以下代替它:

validates :username, :exclusion => { :in => @reserved_words, :message => "\"%{value}\" is reserved."}
@reserved_words = ["admin","admins","administrator","administrators"]
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

#include方法的对象?或者需要proc或lambda,并且必须作为配置哈希的:in选项提供.

为什么会这样?

jdo*_*doe 5

你真的@reserved_words在使用它之后初始化你的变量吗?你的线应该交换!