我已经构建了一个Ruby on Rails应用程序(2.3.9),它允许用户跟踪锻炼。我试图仅返回Workout
表中具有video_link
列值的记录。 (workout.video_link
是一个字符串,包含一个网址)。
我曾使用named_scope
来限制记录,但仅限于整数列,我不知道如何使用字符串来执行此操作,因为IS NOT NULL
显然无法在此处运行。
我如何在workout.rb
中编写范围来做这样的事情?
答案 0 :(得分:1)
您可以将条件指定为字符串以检查IS NOT NULL
:
class Workout
named_scope :with_link, :conditions => "video_link IS NOT NULL AND video_link != ''"
end
答案 1 :(得分:1)
改善Pan Thomakos的例子:
class Workout
named_scope :with_link, :conditions => 'LENGTH(TRIM(video_link)) > 0'
end