【发布时间】:2015-08-18 18:01:19
【问题描述】:
在尝试让 ActiveAdmin 表单使用基于对象枚举属性的键的选择框时,我继续收到 undefined method 错误。遵循关于堆栈溢出到configure active admin forms for enums 的建议方法似乎让我走到了一半,尽管我的对象的引擎方面似乎通过NoMethodError 异常使枚举属性。
#/lib/book_store/admin/books
if defined?(ActiveAdmin)
ActiveAdmin.register BookStore::Book, as: 'Book' do
# customize your resource here
form do |f|
f.semantic_errors # shows errors on :base
f.inputs do
f.input :cover_type, as: :select, collection: BookStore::Book.cover_type.keys
end
f.actions # adds the 'Submit' and 'Cancel' buttons
end
permit_params :name, :lead, :excerpt, :description, :price, :slug, :cover_type, :num_pages, :size, :cover_image, :author, :author_id, :category
end
end
#app/models/book_store/book.rb
module BookStore
class Book < ActiveRecord::Base
belongs_to :author
belongs_to :category
enum cover_type: [:soft, :hard]
end
end
得到以下错误
undefined method `cover_type' for #<Class:0x007fe685217af0>
这里是完整的stack trace
【问题讨论】:
标签: ruby-on-rails enums activeadmin