Как только вы начнете перебирать stored_objects
(если это то, что вы делаете), они будут загружены из базы данных. Если вы хотите загрузить только опубликованные статьи пользователей, вы можете сделать это:
stored_objects = Article.where(:user_id => id, :status => 'published')
Если вместо этого вы хотите загрузить опубликованные и неопубликованные статьи и сделать что-то другое с опубликованными, вы можете сделать это:
stored_objects = Article.where(:user_id => id)
stored_objects.find_all { |a| a.status == 'published' }. each do |a|
# ... do something with a published article
end
Или, возможно:
Article.where(:user_id => id).each do |article|
case article.status
when 'published'
# ... do something with a published article
else
# ... do something with an article that's not published
end
end
Каждый из этих примеров выполняет только один запрос к базе данных. Выбор того, с какими данными вы действительно хотите работать.