Я хочу получать сообщения в зависимости от их статуса, поэтому у меня есть этот код в моем действии PostsController
index
. Похоже, что это загромождает действие index, и я не уверен, что оно здесь.
Как я мог бы сделать его более кратким и куда я мог бы переместить его в моем приложении, чтобы оно не загромождало мое действие индекса (если это правильно)?
if params[:status].empty?
status = 'active'
else
status = ['active', 'deleted', 'commented'].include?(params[:status]) ? params[:status] : 'active'
end
case status
when 'active'
#active posts are not marked as deleted and have no comments
is_deleted = false
comments_count_sign = "="
when 'deleted'
#deleted posts are marked as deleted and have no comments
is_deleted = true
comments_count_sign = "="
when 'commented'
#commented posts are not marked as deleted and do have comments
is_deleted = false
comments_count_sign = ">"
end
@posts = Post.find(:all, :conditions => ["is_deleted = ? and comments_count_sign #{comments_count_sign} 0", is_deleted])