active_admin / formtastic игнорирование полиморфных ассоциаций - PullRequest
2 голосов
/ 24 ноября 2011

В настоящее время у меня проблемы с формой полиморфной ассоциации в active_admin в Ruby on Rails.

У меня настроены три модели: офисы, компании и пользователи.Владеть офисом могут как компании, так и пользователи.Мои модели настроены следующим образом:

class Office < ActiveRecord::Base
  belongs_to :ownable, :polymorphic => true
end

class User < ActiveRecord::Base
  has_many :offices, :as => :ownable
end

class Company < ActiveRecord::Base
  has_many :offices, :as => :ownable
end

active_admin не позволяет мне редактировать владельца в его формах, но отображает его правильно в индексе и показывает страницы (включая ссылки на компанию или пользователя)).

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

Чтобы быть понятным: Я хочу иметь возможность редактировать владельца модели Office в новых и редактировать поля в active_admin.

Кто-нибудь может предложить какую-либо помощь?:)

1 Ответ

0 голосов
/ 30 декабря 2011

Эй, я знаю, что это как месяц, но я наткнулся на твой вопрос, когда искал ответы на другой вопрос, который у меня был.

Я работал с ActiveAdmin и полиморфными отношениями в моемпроект.

Я бы предложил это:

ActiveAdmin.register Office do
  form do |f|
    f.inputs :ownable_type, :ownable_id
    f.buttons
  end

Когда модель полиморфна, необходимо настроить два поля, которые указывают на объект, с которым она связана.Таким образом, в этом случае вам нужны поля для типа владельца (пользователя или компании) и идентификатора объекта.

Это должно позволить вам редактировать эти поля в определенном офисе.

...