如果我有以下named_scope
named_scope :scope_by_user_id, lambda {|user_id| {:conditions => ["comments.user_id = ?", user_id]}}
Run Code Online (Sandbox Code Playgroud)
如果user_id不是nil,那么在rails中有一种方法只应用该条件吗?
当然.你可以在任何其他Ruby块中放置lambda中的任何东西,所以:conditions只有当user_id不为nil时才修改它以返回散列.在这里,我使用了一个简单的三元条件:
named_scope :scope_by_user_id, lambda {|user_id|
user_id.nil? ? {} : { :conditions => ["comments.user_id = ?", user_id] }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1231 次 |
| 最近记录: |