Bvd*_*ijl 4 activerecord ruby-on-rails
我有一个范围如下:
scope :top, order('score DESC')
Run Code Online (Sandbox Code Playgroud)
它在我的控制器中使用如下:
def top
@users = User.top
render "list"
end
Run Code Online (Sandbox Code Playgroud)
现在,似乎这个范围正在被无条件缓存.如果我加载首页,添加用户并重新加载,则用户不会出现在列表中.
如果我这样做:
def top
@users = User.order('score DESC')
render "list"
end
Run Code Online (Sandbox Code Playgroud)
结果不会被缓存.这里发生了什么?我正在使用Ruby 2.0.0和Rails 4.0.0
我想如果你使用lambda,那么它不应该被缓存:
scope :top, lambda { order('score DESC') }
但话说回来,我并不熟悉新的Rails 4范围缓存.
| 归档时间: |
|
| 查看次数: |
1438 次 |
| 最近记录: |