2

デフォルトでは、モデルの関連付けは rails_admin の [新規追加] タブに表示されます。ただし、rails_admin.rb ファイルを変更し、config.model を使用してビューに表示されるフィールドをカスタマイズすると、明らかにビューから削除されます。

私の例では、顧客とユーザーがいます。

ユーザー.rb

class User < ActiveRecord::Base
   devise :database_authenticatable, :registerable,
      :recoverable, :rememberable, :trackable, :validatable

   # Setup accessible (or protected) attributes for your model
   attr_accessible :name, :email, :password, :password_confirmation, :remember_me, :role,     :company, :customer_id

   belongs_to :customer
end

Customer.rb

class Customer < ActiveRecord::Base
  attr_accessible :city, :name, :state, :street, :zip, :container_id, :user_id

  has_many :users
end

rails_admin ダッシュボードにログインして新しいユーザーを追加すると、顧客を選択するドロップダウン オプション、新しい顧客を追加するボタン、および顧客を編集するボタンが表示されます。ただし、config.model を rails_admin.rb に追加すると、

rails_admin.rb

config.model 'User' do
      list do
         field :name do
            label "Name"
         end
         field :email do
            label "Email"
         end
         field :company do
            label "Company"
     end
     field :role do
        label "Role"
     end
  end
  edit do
     field :name do
        label "Name"
     end
     field :email do
        label "Email"
     end
     field :company do
        label "Company"
     end
     field :role do
        label "Role"
     end
     field :role, :enum do
        enum do
           ['1a', '1b', '2a', '2b', '3a', '3b', '4a', '4b', '5']
        end
        label "Role"
     end
  end
  create do
     field :name do
        label "Name"
     end
     field :email do
        label "Email"
        help "The email address will serve as the username."
     end
     field :password do
        label "Password"
     end
     field :password_confirmation do
        label "Password Confirmation"
        help "Required"
     end
     field :company do
        label "Company"
     end
     field :role, :enum do
        enum do
           ['1a', '1b', '2a', '2b', '3a', '3b', '4a', '4b', '5']
        end
        label "Role"
     end
     end
   end

これにより、ユーザーを追加するときに持っている関連付けフィールドが上書きされます。私の質問は、rails_admin でユーザーを追加するときにモデルの関連付けを表示することを rails_admin 構成に明示的に伝えるために、rails_admin で使用する必要がある構文は何かということです。

ありがとう!

4

1 に答える 1