如何覆盖rail_admin gem中的枚举数据

时间:2012-10-26 17:31:02

标签: ruby-on-rails ruby-on-rails-3 rails-admin

在我的模型中,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属性

2 个答案:

答案 0 :(得分:1)

alias_attribute :name, :you_field_you_want_to_display

我认为它更灵活,没有必要重命名,一切都能正常运作

答案 1 :(得分:0)

是的,我刚刚找到答案,将模型中的一列重命名为“name”,它似乎非常神奇,但它确实有效!