У меня есть полиморфная связь с адресом, в котором оба могут принадлежать члену или зависимому. Все выглядело великолепно, пока я не понял, что я не знаю, какой тип объекта создавал его, если я не пропущу что-то. Есть ли способ сообщить файлу маршрутизации включить тип объекта?Полиморфный контроллер и вызывающий объект
Модели:
class Member < ActiveRecord::Base
has_one :address, as: :person, dependent: :destroy
end
class Dependent < ActiveRecord::Base
has_one :address, as: :person, dependent: :destroy
end
class Address < ActiveRecord::Base
belongs_to :person, polymorphic: true
end
Контроллер:
def new
@person = ???
@address = Address.new(person: @person)
end
Маршруты Сейчас:
resources :members do
resources :addresses, shallow: true
resources :dependents, shallow: true do
resources :addresses, shallow: true
end
end
У меня есть маршруты для решения в рамках каждого, но должны были бы проверить для параметров [: member_id] или params [: dependent_id] Я думаю. Что происходит, когда я прикрепляю заметки ко всему. Я, вероятно, пропустил какой-то простой способ сделать это в Rails, любые советы будут очень благодарны!