Если вы не разрешаете настраивать пользовательский статус, имеет смысл иметь статус all 'в виде постоянного массива (используется для выбора) и строкового поля status
в выпусках.Вы по-прежнему сможете перечислить все проблемы со статусом с областью действия.
Обновление для вопроса
class Issue
STATUSES = [ "Open", "Closed" ]
scope :with_status, lambda { |status| where(:status => [*status]) }
end
В поле зрения
<%= f.select :status, Issue::STATUSES %>
нужно поле в базе данных.Итак, при миграции:
add_column :issues, :status, :string
Чтобы найти проблемы со статусом в контроллере:
@open_issues = Issue.with_status("Open").all;
@current_issues = Issue.with_status([ "Pending", "Waiting on Review"]).all;
Или с ассоциацией:
@closed_issues = @project.issues.with_status("Closed");