Я работаю над проектом электронной коммерции, где будут переключатели для выбора размера. У меня есть выпадающее меню для количества. Я хочу сделать этот раскрывающийся список динамическим на основе запаса, доступного для выбранного пользователем размера. Может ли кто-нибудь сказать мне, как это можно сделать на Rails? не загромождая мой файл просмотра большим количеством javascript !?
Как сделать динамический выпадающий список в Rails?
Ответы (1)
Если вы используете Rails 3 с прототипом (по умолчанию), вы можете использовать устаревшие помощники прототипа (Ссылка на Github), чтобы добавить наблюдателя и отобразить частичное представление для раскрывающегося списка. Вы можете добавить наблюдателя, как это
<%= observe_field 'element_var_name',
:url => { :action => "another_action_here" },
:update => "div_tag_to_update",
:with => "'selected='+ escape($('element_var_name').value)" %>
Обязательно настройте element_var_name
и действие в соответствии с вашей ситуацией. div_tag_to_update
— это div, который будет обновляться с раскрывающимся списком. Действие another_action_here
должно отображать вид следующим образом:
def call_ids_by_type
@element_list = ... # whatever fits for you, like: [[key, value],[key, value]]
render :layout => false
end
В частичном представлении вы можете использовать список элементов для создания раскрывающегося списка:
<%= f.select :var_name, @element_list %>
person
dhoelzgen
schedule
08.04.2011