已经与 RoR 合作了一段时间,我找到了一种过滤查询结果的方法,但我不确定我做得对。就像在任何新的语言/技术中一样,你变成了一个孩子的脚本,我不喜欢它。
我有一个控制器可以做到这一点
@events = Appointment.scoped
@events = @events.which_user(current_user.id)
然后,在约会模型中,我有这个代码来只保留给定用户 ID 的约会:
scope :which_user, lambda {|user_id| {:conditions => ["user_id = ?", user_id]}}
我从一个例子中想出了这段代码,但我仍然几乎无法理解它。有人能告诉我一点 Ruby 魔法在这种情况下是如何工作的吗?