【发布时间】:2012-11-21 20:08:53
【问题描述】:
我的 Rails 应用程序中有以下 Scope,用于根据 current_user 从数据库中获取活动的Choices。这工作得很好,但如果没有current_user,代码会在数据库中获取所有Choices。在这里,我只想让它什么都没有。
scope :active, lambda{|user| user ? { :conditions => ["deliverydate = ? and user_id = ?", Date.tomorrow, user.id], :order => 'id DESC'} : {} }
如果没有current_user,我如何重写上面的你以不返回任何内容?
问题是我正在使用Pusher 将新数据推送到网站,但是如果用户会话过期,那么所有数据都会被推送而不是什么都没有。希望这是有道理的 :)
【问题讨论】:
-
作用域永远不应该返回 nil:作用域应该是可链接的......
标签: ruby-on-rails scope pusher