18
有没有办法清除.select(“table.col1,...”)语句中的旧选择?ActiveRecord .select():可以清除旧的选择?
背景:
我已经请求访问的项目给定用户ID的范围(简体)
scope :accessible, lambda { |user_id|
joins(:users).select("items.*")
.where("items_users.user_id = ?) OR items.created_by = ?", user_id, user_id)
}
然后,例如,在索引操作我只需要项目ID和标题,所以我这样做:
@items = Item.accessible(@auth.id).select("polls.id, polls.title")
然而,这将选择列 “项目,items.id,items.title。”我想避免从范围中删除选择,因为那样我就不得不在其他地方添加一个select(“items。”)。我是否有理由认为没有办法做到这一点,我要么活着拿太多的领域,要么必须使用多个范围?
欢呼声,你只是让我爱上了更多:D – mkon 2011-02-12 17:46:10