我试图根据由ActionController before_filter确定的某些条件来设置默认范围。在控制器:根据某些条件设置default_scope
before_filter :authorize
...
def authorize
if some_condition
@default_scope_conditions = something
elsif another_condition
@default_scope_conditions = something_else
end
end
里面的ActiveRecord的
default_scope :conditions => @default_scope_conditions
但它似乎没有工作,在过滤器之前被调用,但default_scope不被设置。你能否告诉我我做错了什么,如何解决这个问题,或者建议我采取其他方式来实现这一目标。
你设置@default_scope_conditions - 这是一个实例变量从** **控制器和你期望从**模型**中读取它。除非作为方法参数传递,否则从模型中不可见。 – 2010-04-17 10:00:43