簡體   English   中英

Rails的Haml下拉菜單問題

[英]Haml drop-down menu issue with Rails

 form_for :radio, url(:radio, :add), :method => :put do |f|
    = f.error_messages
    %p
      = f.label :title, :caption => "Radio Name:"
      = f.text_field :title
    %p
      = f.select :city_name, XXXXXXXXXXXXXX
    %p
      = f.label :frequency
      = f.text_field :frequency
    %p
      = f.label :url
      = f.text_field :url
    %p
      = f.submit "Add", :class => 'button'

當我把XXXXXXXX作為

[['Hot','hot'],['Medium','medium'],['Cold','cold']]

甚至

City.all.map {|c| [c.city]}

我得到:

can't convert Array into Hash

任何幫助將不勝感激。

= f.select :city_name, City.all.map{ |c| [c.name, c.id] } = f.select :city_name, City.all.map{ |c| [c.name, c.id] }試試這個

您只需要將選項包裝在options_for_select 例如:

= f.select :city_name, options_for_select([['Hot','hot'],['Medium','medium'],['Cold','cold']])
data = %w/hot medium cold/.map { |s| [s.capitalize, s] }
= f.select :city_name, Hash[data]

散列[數據]

請在下面找到為我解決的問題

= f.select :city_name, :options => [["Delhi", "Delhi"], ["Mumbai", "Mumbai"], ["New York", "New York"], ["Punjab", "Punjab"]]

:options =>是關鍵...但是文檔為什么沒有提到這一點。 可能是因為gem版本不同。

謝謝大家的幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM