2015-06-10 4 views
2

Я искал обновление базы данных. Поскольку у меня есть рельсы 4, я обнаружил, что могу использовать перечисления. Теперь, если все статусы предметов установлены на 0 по defualt, могу ли я добавить кнопку, которая изменит статус на 1 после его нажатия.Rails 4: Могу ли я обновлять перечисления с помощью кнопки?

Как это сделать? Есть ли пример, который демонстрирует, что, поскольку все, что я ищу, это иметь статус по умолчанию, который можно изменить в представлении с помощью кнопки.

Возможно ли это, и как я могу это сделать? Кроме того, этот тип проблемы лучше всего подходит для государственных машин?

+1

Если ваша модель будет иметь разные переходы состояния, вы можете использовать конечный автомат ... –

+0

Вы бы просто вызвали стандартное действие обновления соответствующего контроллера, не так ли? –

ответ

1

Вы можете обновлять перечисления, как и любой другой атрибут: Используйте действие update.

Чтобы отправить новое значение атрибута, вы можете использовать скрытую форму или прикрепить данные «формы» к ссылке или кнопке.

Это, как вы можете сделать это с помощью кнопки/ссылка:

link_to 'Update enum', item_path(@item), data: { method: :patch, 
               params: { item: { status: 1 } } } 

Вы должны адаптировать путь и имена в data-params хэш с именами, которые вы используете.

В зависимости от вашего варианта использования вы можете включить remote: true для отправки запроса Ajax.

Смежные вопросы