如何使用named_scope将记录限制为非空白的记录?

时间:2011-03-08 20:20:04

标签: ruby-on-rails ruby named-scope

我已经构建了一个Ruby on Rails应用程序(2.3.9),它允许用户跟踪锻炼。我试图仅返回Workout表中具有video_link列值的记录。 (workout.video_link是一个字符串,包含一个网址)。

我曾使用named_scope来限制记录,但仅限于整数列,我不知道如何使用字符串来执行此操作,因为IS NOT NULL显然无法在此处运行。

我如何在workout.rb中编写范围来做这样的事情?

2 个答案:

答案 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