2016-06-07 54 views
2

我有一個模型領導有一個字段狀態,其中包含多個值通過枚舉。Rails select_tag /下拉列舉枚舉

enum status: { open: 0, closed: 1, qualified: 2, rejected: 3 } 

我想創建一個選擇字段(在表中)新的狀態將通過ajax保存。有人可以幫我創建select_tag,在線我可以找到枚舉的工作,但因爲我有ID和值,它有點複雜。

在這一刻我有這樣的事情,但它不工作:

<tbody> 
    <% @leads.each do |lead| %> 
    <tr class="<%=cycle('odd', 'even') %> location_row" id="lead_row" data-id="<%= lead.id%>"> 
     <td><%= lead.id %></td> 
     <td><%= lead.fullname %></td> 
     <td><%= lead.email %></td> 
     <td><%= lead.phone %></td> 
     <td><%= select_tag :Status, Lead.statuses.keys.to_a %></td> #trying this, without luck 
     <td><%= select_tag :Status, Lead.statuses.keys.to_a.map { |w, v| [w.titleize, v] }%></td> #2nd try, without luck 
     <td><%= link_to (fa_icon "pencil-square-o "), edit_lead_path({:id => lead.id, :first_last_name => lead.first_last_name}), :title => 'Edit Lead', :class => "action-button" %></td> 
    </tr> 
    <% end %> 
    </tbody> 

感謝, 牛逼

回答

5

,我發現自己的答案通過試錯。

<%= select_tag :status, options_for_select(Lead.statuses.map {|k, v| [k.humanize.capitalize, v]}) %> 
1

您可以使用下面的代碼選擇狀態枚舉作爲選項:
<%= select_tag :status, options_for_select(Lead.statuses) %>