2016-06-07 56 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) %>