В Rails, как мне реализовать поле Status для приложения Tasks - целочисленное или перечисление?

Для приложения Rails 3.0 Todo у меня есть модель Tasks сСтатус поле. Каков наилучший способ сохранить данные поля «Состояние» (тип поля) и по-прежнему отображать в представлении читаемую человеком версию (таблица HTML)? Статус может быть:

0 = нормальный
1 = активный
2 = Завершено

Прямо сейчас у меня есть это:

Схема Rails Здесь:

create_table "tasks",: force => true do | t |
t.integer "status",: limit => 1,: default => 0,: null => false

Модель Rails Здесь:
class Task < ActiveRecord::Base
  validates_inclusion_of :status, :in => 0..2,
    :message => "{{value}} must be 0, 1, or 2"
Rails Посмотреть здесь:
<h1>Listing tasks</h1>

<table>
  <tr>
    <th>Status</th>
    <th>Name</th>
    <th></th>
    <th></th>
    <th></th>
  </tr>

<% @tasks.each do |task| %>
  <tr>
    <td><%= task.status %></td>
    <td><%= task.name %></td>
    <td><%= link_to 'Show', task %></td>
    <td><%= link_to 'Edit', edit_task_path(task) %></td>
    <td><%= link_to 'Delete', task, :confirm => 'Are you sure?', :method => :delete %></td>
  </tr>
<% end %>
</table>
Требования

Сохраните статус Задачи в БД так, чтобы значения были легко локализуемыми, то есть я не уверен, что хочу сохранить «обычный», «активный», «завершенный» в виде строкового поля.

Решение должно работать с Rails 3.0.

Вопросы:

Должен ли я хранить поле как целое число (см. Выше)? Если да, то как мне отобразить правильное удобочитаемое состояние в таблице HTML в моем представлении Rails, например, покажите «Active» вместо «1» в таблице HTML.

Должен ли я использовать enum? Если так, это легко локализовать позже?

Должен ли я использовать прямые строки, например, «Обычный», «Активный», «Завершено»

Можете ли вы предоставить быстрый пример кода помощника вида, контроллера или кода представления, чтобы заставить это работать?

Ответы на вопрос(6)

Ваш ответ на вопрос