我创建了一个Ruby on Rails应用程序,允许用户跟踪锻炼。我允许他们私人或公开锻炼,通过将整数1
传递给Workout.share
来表示
现在我试图显示那些public_workouts
的某些子集。我通过named_scope调用所有public_workouts
:
# workouts_controller.rb
@workouts = Workout.public_workouts.all
...
# workout.rb
named_scope :public_workouts, :conditions => {:share => 1}
Workout表还有一个rounds
列。我想将public_workouts
的输出限制为仅包含workout.rounds
内容的记录。换句话说,如果workout.rounds
是空白,那么我不希望包括在内。
这样做的最佳方式是什么?
更新:
我应该提到我使用的是rails 2.3.8
答案 0 :(得分:1)
我认为它应该有效:
named_scope :published, lambda {
{ :conditions =>
["workouts.rounds IS NOT NULL AND workouts.share = ?", 1]
}}