Для начала, в вашем примере кода вы получаете только одну запись.Чтобы получить все записи, вам нужно позвонить:
@videos = Video.all
Чтобы получить подмножество, все зависит от того, как вы хотите это сделать.Вы можете сделать это, когда запрашиваете базу данных:
# Rails 2
@videos = Video.find(:all, :conditions => ['description = ? OR description IS NULL', ''])
# Rails 3
@videos = Video.where('description = ? OR description IS NULL', '')
Или вы можете разбить массив @videos
, используя метод Ruby:
# Find all our videos
@videos = Video.all
# And then pick the ones where the description attribute is blank
@videos_with_blank_description = @videos.select { |v| v.description.blank? }
Array#select
isметод в Enumerable
, который выполняет итерацию по массиву и возвращает элементы, для которых аргумент блока имеет значение True:
http://www.ruby -doc.org / core / classes / Enumerable.html # M001488