【发布时间】:2012-05-27 16:38:37
【问题描述】:
我需要对我的 ActiveRecord 模型进行一些过滤,我想通过 owner_id 过滤我的所有模型对象。我需要的基本上是 ActiveRecord 的 default_scope。
但我需要通过模型无法访问的会话变量进行过滤。我读过some solutions,但没有一个有效,基本上他们中的任何一个都说你可以在声明 default_scope 时使用 session。
这是我对范围的声明:
class MyModel < ActiveRecord::Base
default_scope { where(:owner_id => session[:user_id]) }
...
end
很简单,对吧?但它没有说 方法会话不存在。
希望你能帮忙
【问题讨论】:
-
您是否有理由不想要具有关联的所有者对象?
-
嗯....好点,明天我会测试它,我现在没时间了。感谢您的回复
标签: ruby-on-rails ruby-on-rails-3 session default-scope