我有這樣對我的類枚舉:如何將所有枚舉選項轉換爲數組以便在下拉菜單的集合中使用?
class Post < ActiveRecord::Base
enum status: [ :unconfirmed, :corroborated, :confirmed ]
end
我現在用簡單的形式,我想產生我的表單部分的下拉菜單。
這是我現在有:
<%= simple_form_for(@post, html: {class: 'form-horizontal' }) do |f| %>
<%= f.error_notification %>
<%= f.input_field :parent_id, as: :hidden %>
<div class="field">
<% if can? :manage, @post %>
<%= f.input_field :status, label: "Status", collection: Post.statuses, selected: Post.statuses[:corroborated] %>
<% end %>
</div>
<%= f.input :title, placeholder: "Enter Title" %>
<%= f.input :photo %>
<%= f.input :file %>
<%= f.input :body %>
<div class="report-submit">
<%= f.button :submit %>
</div>
<% end %>
當我創建一個新的Post
紀錄,我得到這個錯誤:
Completed 500 Internal Server Error in 20ms
ArgumentError - '2' is not a valid status:
當我在我的控制檯做Post.statuses
,我得到這樣的:
> Post.statuses
=> {"unconfirmed"=>0, "corroborated"=>1, "confirmed"=>2}
我該怎麼做,我需要這個enum
?
啊......完美。這工作。但有一件事,我沒有辦法使用':selected'屬性的符號,而不是字符串? – marcamillion 2014-08-30 16:22:35
你可以嘗試符號..不知道它..試一試 – RAJ 2014-08-30 16:23:24
是的,完美的作品。非常感謝! – marcamillion 2014-08-30 16:29:00