class Chair < ActiveRecord::Base
has_many :buildings, :as => :faculty
end
class Department < ActiveRecord::Base
has_many :buildings, :as => :faculty
end
class Building < ActiveRecord::Base
belongs_to :faculty, :polymorphic => true
end
В файле маршрутов у меня есть:
resources :departments do
resources :buildings do
end
resources :chairs do
resources :buildings do
end
Как правильно построить новое здание в одном контроллере для отдела и кафедры.Я знаю, что могу создать еще одну полезную функцию, которая будет проверять, кто создает Building:
class BuildingsController < ApplicationController
def new
@parent = faculty
@building = @parent.buildings.build
end
end
в application_controller:
def faculty
if params[:department_id]
Department.find(params[:department_id])
elsif params[:chair_id]
Chair.find(params[:chair_id])
end
end
но я спрашиваю, есть ли другиеRail как это сделать?Возможно, в Rails3 существует какой-то метод, который я могу использовать для получения информации: кто хочет создать здание, без реализации другой функции факультета.