Апроваль агента созданного продукта администратором.У меня есть логическое поле публикации в модели продукта, которое по умолчанию имеет значение false.Приложение Rails 5 - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть 2 разные модели устройства для агента и администратора, тогда у меня есть модель продукта, с помощью которой агент может создавать новые продукты, которые могут быть утверждены администратором.

У меня есть логическое поле публикации в модели продукта, котороепо умолчанию - false.

Администратор также может просматривать продукты.

Мне нужна кнопка публикации, которая изменяет логическое значение на true, не перезагружая страницу.Затем кнопка публикации изменится на отмену публикации.Как сделать это с помощью jquery или чего-то еще.

Я новичок в rails, и это мое первое приложение.Нужно руководство .. Спасибо, ребята ..

1 Ответ

0 голосов
/ 20 декабря 2018

Здесь вам нужны две разные вещи.

  1. Отправка изменений в бэкэнд без перезагрузки страницы.
  2. Обновление кнопки публикации на интерфейсекогда происходит внутреннее изменение.

(приведенный ниже код является просто примером кода - он понадобится вам для вашей текущей настройки)

Я бы справился с этим, сделав "Кнопка «Опубликовать» remote: true.Возможно, ваша ссылка выглядит следующим образом:

<%= link_to “Publish”, product_path(product_id: product.id), class: "publish", remote: true %>

remote: true сделает этот запрос AJAX.

В вашем javascript вы захотите следить за успешным запросом ajax и выполнять какое-либо действие после его успешного завершения.

$(‘.publish a’).on (‘ajax:success’, updatePublishBtn)

function updatePublishBtn(event, data) {
  $(‘.publish a’).text("Unpublish");
}

Примерно так будет искать ссылку с классомиз publish и обновит текст до «Отменить публикацию», когда получит успешный ответ Ajax.В действительности вы, вероятно, захотите, чтобы ваш javascript скрывал кнопку публикации и показывал кнопку отмены публикации (которая работала бы так же), поскольку нажатие кнопки «Отменить публикацию» должно привести к другому маршруту ...

Это дастВы - общая идея, но вам нужно будет заполнить специфику на основе вашего варианта использования (или предоставить код в своем ответе, чтобы я мог быть более конкретным).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...