2011-04-06 173 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