Ruby on Rails выбирает теги из хэша - PullRequest
0 голосов
/ 06 апреля 2011

Хэш хранится как константа, определенная в application.rb

Это выглядит примерно так:

ITEMS = { "Item 1" => ['1 - sdfsdf', '2 - sdlfksdf'], "Item 2" => ['1 - lkfsdf', 2- dkfdjk']}

Что бы я хотел от этого - это одно поле со списком параметров:
Элемент 1
Элемент 2

и второе поле со списком с элементами в массиве в хэше в зависимости от выбора первого.

Есть ли простой способ сделать это с помощью rails 3 (я использую JQuery)

Спасибо

1 Ответ

1 голос
/ 06 апреля 2011

Вы можете создать первое поле со следующим:

<%= f.select :var_name, ITEMS.collect { |key, value| [key, key] } %>

Затем добавьте наблюдателя

<%= 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 и действие в вашей ситуации. Действие another_action_here должно отображать вид следующим образом:

def call_ids_by_type
  @element_list = ITEMS[param[:selected].collect { |value| [value, value] }
  render :layout => false
end

Связанное представление должно содержать только поле выбора, которое вы хотите добавить. Точно не пробовал, но думаю, это должно сработать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...