Проверьте, был ли установлен флажок без формы или javaScript в RoR

0

У меня есть флажок в представлении, он не привязан к форме. Могу ли я отправить это состояние через params моему контроллеру или помощнику или что-то еще, когда я нажимаю ссылку?

Теги:

2 ответа

0
Лучший ответ

Я предлагаю процесс, согласно вашей потребности,

  1. установите флажок типа ввода (не нужно привязывать его к какой-либо форме) и придать ему атрибут "id" (html), чтобы однозначно идентифицировать его в DOM.

  2. сделать ссылку с целью "#" и сделать вызов Ajax на клик

  3. на этом вызове ajax проверьте значение флажка в js с помощью его идентификатора и отправьте его на контроллер с помощью ajax-запроса и выполните действие в соответствии со значением флажка, переданного контроллеру.

  • 0
    Ну, я понял основную идею, но есть ли способ сделать это без javaScripting? Не то чтобы я незнаком с этим. Но если браузер блокирует js, его нельзя будет пропустить. Я прав?
  • 0
    если вы хотите установить флажок на стороне клиента, то вам наверняка понадобится JS. и скажите мне, почему браузер будет блокировать JS?
Показать ещё 4 комментария
0

Это не имеет никакого отношения к Ruby on Rails.

Вы можете использовать событие onchange в этом флажке, чтобы вызвать действие. И почти всегда действие - это вызов функции javascript.

<input type="checkbox" onchange="myFunction();">

Внутри myFunction() вы можете создать запрос и выполнить ajax вызов. Таким образом вы можете передать значение в действие рельсов или любой другой скрипт CGI на бэкэнд.

Также ознакомьтесь с этой документацией

  • 0
    Ну, я знаю о событии onChange , но как передать состояние флажка в действие? Нужно ли прикреплять функцию, которая просто меняет ссылку напрямую?
  • 0
    Да. В javascript соедините строку запроса и добавьте ее к URL-адресу действия. Например: '/ url / of / action? Checkboxname = значение & another_attribute = another_value. Используйте это, чтобы сделать вызов ajax.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню