Как сделать динамический выпадающий в Rails? - PullRequest
2 голосов
/ 08 апреля 2011

Я работаю над проектом электронной коммерции, где будут переключатели для выбора размера.У меня есть выпадающий список для количества.Я хочу, чтобы этот выпадающий список был динамическим на основе имеющихся запасов для выбранного пользователем размераМожет кто-нибудь сказать мне, как это можно сделать на Rails?без загромождения моего файла представления с большим количеством JavaScript !?

1 Ответ

2 голосов
/ 08 апреля 2011

Если вы используете Rails 3 с прототипом (по умолчанию afaik), вы можете использовать прототипы старых помощников ( Ссылка на 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 %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...