2011-04-06 152 views
0

选择标签我有一个哈希存储在application.rb中Ruby on Rails的哈希从

定义的常数它看起来有点像这样:

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

我想从这个什么是一个组合与选项框:
项目1
项目2

,并用在根据第一的选择哈希阵列中的项目的第二组合框。

有一种简单的方式与轨道3做到这一点(我使用JQuery)

感谢

回答

1

你可以创建一个具有以下第一个框:

<%= 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和ACTI关于你的情况。该another_action_here行动应该呈现这样的观点:

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

相关视图应该只包含您要添加的选择字段。还没有尝试过,但我认为这应该工作。

+0

谢谢!我没有完全使用你所说的话,但我使用了jQuery ajax调用等。你肯定会帮助我朝正确的方向发展。 – 2011-04-09 11:29:04