我搜索了网络,但是无法弄清楚为什么会出现这个错误:
NoMethodError (undefined method `status' for #<Class:0x007f89f3
我在模型中定义了枚举:
class BookEntryAssignment < ActiveRecord::Base
enum status: [:pending, :"in-progress", :completed, :approved]
after_initialize :set_default_status, :if => :new_record?
def set_default_status
self.status ||= :pending
end
end
我在尝试创建选择列表时收到错误:
f.select(:status, BookEntryAssignment.status.keys.map {|status| [status.titleize,status] if(!status.eql'approved')}, {:class => 'form-control'})
我不知道为什么会这样。这可能是我的一个非常愚蠢的错误,但无法弄清楚。
答案 0 :(得分:2)
根据http://edgeapi.rubyonrails.org/classes/ActiveRecord/Enum.html
上的文档尝试BookEntryAssignment.statuses