Если список флажков статичен, вы можете сделать все это непосредственно в визуализированном действии. В противном случае возможны два подхода:
Использование button_to_remote
получить действие, отображающее всплывающие окна, а также подают необходимые JS;
Используйте button_to_function
для извлечения некоторого XML или json (по вашему выбору) из действия, с необходимыми метками и значениями для флажков, а затем визуализируйте всплывающее окно.
Первый может быть проще сделать, если вы не знакомы со всем этим, в то время как второй путь более эффективен, так как только данные передаются через асинхронный вызов, а не разметка, ни JavaScript.
О вашем последнем вопросе, если (не) проверка флажка должен привести к стороне сервера действий, prototype_helper
обеспечивает удобную observe_field
функции, которая будет использоваться как это:
<%= check_box "foo", "bar" %>
<%= observe_field "foo_bar", :url => {:action => :some_action, :controller => :some_controller} %>
Если (ООН) проверки можно управлять на стороне клиента, вы можете просто использовать:
<%= check_box "foo", "bar", { :onclick => "someFunctionToDoWhatINeed(someArg);"} %>
всего две ноты:
JavascriptHelper
и PrototypeHelper
именно это, помощники: они позволяют вам делать некоторые вещи с очень простым синтаксисом и отлично, если они помогают; когда их больше нет, не стесняйтесь бросать их и идти на простой javascript.
Я использовал prototype
какое-то время, но потом я влюбился в jquery
; вы можете взглянуть на него.
Пожалуйста, отредактируйте ваш вопрос или ответьте на мой вопрос, если я не понял ваш вопрос и/или был бесполезным.
О, я должен был сказать, что я использую прототип – lunaclaire