0

私のモデルでは、BookHeaderには多くのカテゴリがあります。したがって、新しいBookHeaderを編集または作成すると、フォームはこの Enum修正のように表示されますか?

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

このリンクのDivision属性を参照してください

4

2 に答える 2

1
alias_attribute :name, :you_field_you_want_to_display

より柔軟な方法だと思います。名前を変更する必要はなく、すべてが適切に機能します。

于 2012-11-07T17:13:15.187 に答える
0

ええ、私はちょうど答えを見つけました、あなたのモデルの列の名前を「名前」に変更してください、それは非常に魔法のようですが、それはうまくいきました!

于 2012-10-27T04:02:11.427 に答える