Если вы используете 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 %>