引擎模型的 ActiveAdmin 中的枚举选择
Enum selection in ActiveAdmin for a Engine Model
尝试让 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
我觉得cover_type
应该复数。
f.input :cover_type, as: :select, collection: BookStore::Book.cover_types.keys
几乎一个相关的答案...
您可以使用 enumerize gem and activeadmin addons 很好地处理枚举。
尝试让 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
我觉得cover_type
应该复数。
f.input :cover_type, as: :select, collection: BookStore::Book.cover_types.keys
几乎一个相关的答案...
您可以使用 enumerize gem and activeadmin addons 很好地处理枚举。