Выбор роли из Rolify при использовании ActiveAdmin

Используя Rails 4 с ActiveAdmin 5 в сочетании с CanCan и Rolify, я хочу иметь возможность выбирать (с помощью списка флажков или чего-то еще) роли, которые будут применяться к каждому пользователю при редактировании или создании новых пользователей через активный интерфейс администратора.

Этот пост Как использовать ActiveAdmin на моделях, использующих has_many через ассоциацию? как бы показывает способ создания форм. Хотя я получаю сообщение об ошибке:

undefined method `new_record?' for nil:NilClass

Кажется, это происходит при простом доступе к свойству .has_many при выполнении form do |f|

f.has_many :roles do |app_f|
  #app_f.inputs "Roles" do
    #if !app_f.object.nil?
      # show the destroy checkbox only if it is an existing appointment
      # else, there's already dynamic JS to add / remove new appointments
   #app_f.input :_destroy, :as => :boolean, :label => "Destroy?"
  #row app_f.role.name
  #end

  #  app_f.input :roles # it should automatically generate a drop-down select to choose from your existing patients

  #end
end

person DogEatDog    schedule 06.12.2013    source источник


Ответы (1)


Я обнаружил, что использование другого маршрута для доступа к ролям работает намного лучше через f.input

Вот рабочий код:

  form do |f|
    f.inputs "Admin Details" do
      f.input :email
      f.input :first_name
      f.input :last_name
      f.input :alias
      f.input :bio
      f.input :password
      f.input :password_confirmation
      f.input :roles, :as => :check_boxes
    end
    f.actions
  end
person DogEatDog    schedule 06.12.2013