在我的模型中,BookHeader有很多类别 因此,在编辑或创建新的BookHeader时,表单会显示如下 Enum fix?
我想通过定义category_enum方法将“category#{id}”更改为类别名称,但它仍然不起作用。请帮忙!
BookHeader模型代码
class BookHeader < ActiveRecord::Base
attr_accessible :autho, :category_id, :description, :title, :book_type, :year,:publisher_id,:detail
has_many :books
belongs_to :category
belongs_to :publisher
TYPE = {:ebook=>"Ebook",:paper_book=> "PaperBook",:magazine=> "Magazine",:media=> "Media"}
DEFAULT_TAB = :paper_book
BOOKS_PER_PAGE = 1 # books to show in a pages (pagination)
extend FriendlyId
def book_type_enum #it worked here
TYPE.map{|key, val| [val]}
end
def category_enum #but dont' work here
["a","b"]
end
编辑表格代码
edit do
field :title
field :description, :text do
ckeditor do true end
end
field :autho
field :book_type
field :category
end
请参阅this link
中的Division属性答案 0 :(得分:1)
alias_attribute :name, :you_field_you_want_to_display
我认为它更灵活,没有必要重命名,一切都能正常运作
答案 1 :(得分:0)
是的,我刚刚找到答案,将模型中的一列重命名为“name”,它似乎非常神奇,但它确实有效!