2016-06-15 6 views
0

に配列からドロップダウンリスト - と、次の形式に解析されています:移入私は私が求めている国のリストを持っているルビー

{"Countries"=>[{"Name"=>"ABKHAZIA", "IsoCode"=>"AB", "HasTown"=>"I"}, {"Name"=>"ANGUILLA", "IsoCode"=>"AI", "HasTown"=>"I"}, {"Name"=>"ANTIGUA", "IsoCode"=>"AG", "HasTown"=>"I"}, .... {"Name"=>"ZIMBABWE", "IsoCode"=>"ZW", "HasTown"=>"I"}]} 

私はこのデータと、ドロップダウンリストを移入します。私はドロップダウンボックスを作成するために使用していたコードがある:国:

def country_selection_input options = {} 
options.reverse_merge!(
    :attribute => :country_iso, 
    :collection => transaction_form.get_countries, 
    :input_html => {}, 
    :prompt => 'please select', 
    :label => 'To Where' 
) 

これは私に迅速かつ唯一の単語で構成され、リストを選択してくださいとのドロップダウンボックスを提供します。

データはありますが、ドロップダウンリストに表示する方法がわかりません。何か簡単なものがないと確信しています。 私が選択した国に基づいて行動を取るようにしたいので、これはおそらくメニューに変わります

:label_method => :Name, 

を試みたが、

undefined method `Name' for #<Array:0x007fc385cecbb0> 

のエラーメッセージが出てきた - しかし - これが最初のステップです - リストを機能させる。

+0

ことになった答えは、あなたが必要なドロップダウンボックスの例を提供していただけますか?そこにはどの値があると思いますか?ありがとう。 – retgoat

答えて

1

def country_selection_input options = {} 
countries = transaction_form.get_countries()[:Countries] 
options.reverse_merge!(
    :attribute => :country_iso, 
    :collection => countries, 
    :label_method => :Name, 
    :value_method => :IsoCode, 
    :input_html => {}, 
    :prompt => 'please select', 
    :label => 'To Where' 
) 

call_input_from_args_hash options 

エンド

関連する問題