Активный администратор создает коллекцию атрибутов для модели.

У меня есть атрибуты этой модели:

class CreateRoles < ActiveRecord::Migration
  # create role model with relation to users and projects
  def change
    create_table :roles do |t|
      t.references :user
      t.references :project
      t.boolean    :senior_author    , :default => 0
      t.boolean    :first_author     , :default => 0
      t.boolean    :author           , :default => 0
      t.boolean    :bio_informatician, :default => 0
    end
  end
end

Моя форма:

form do |f|
  f.inputs "Details" do # Project's fields
    f.input :title
    f.input :code
  end

  f.has_many :roles do |app_f|
    app_f.inputs do
      if !app_f.object.nil?
        app_f.input :_destroy, :as => :boolean, :label => "Effacer"
      end

      app_f.input :user, :include_blank => false, :label_method => :to_label 
      #app_f.input :senior_author
      #app_f.input :first_author
      #app_f.input :author
      #app_f.input :bio_informatician
    end
  end
  f.buttons
end

Как я могу сделать коллекцию () или переключатель из четырех последних app_f.input?


person Awea    schedule 01.02.2012    source источник


Ответы (1)


Вы можете использовать атрибут коллекции

f.input :user, collection: User.all.map{|u| [u.name, u.id]}

Я не знаю, поможет ли это вам, но я думаю, что очень странно, что formtastic не делает выбор с записями.

person Duke    schedule 13.03.2012
comment
Этот тип карты в коллекции не работает для меня... activeadmin всегда показывает мое u.name вместо u.cod, как я установил... моя коллекция: User.all.map{|u| [u.код, u.id]} - person squiter; 28.03.2014
comment
@BrunnoDosSantos, какая у вас версия активного администратора? - person Duke; 28.03.2014
comment
активный администратор (1.0.0.pre) - person squiter; 28.03.2014
comment
@BrunnoDosSantos попробуй Hash[User.all.map{|u| [u.cod, u.id]}] - person Duke; 02.04.2014