У меня проблема с динамической активной областью администрирования. Я пытаюсь создать область для каждого «менеджера» «проекта» в своем приложении. Тем не менее, кажется, что области не обновляются, когда создается новый менеджер (или назначается проекту), но они обновляются, если я перезапускаю сервер. Так что код "работает" сам по себе, но явно не так, как хотелось бы. Я новичок в ruby/rails, поэтому я не уверен, нужно ли мне что-то делать, чтобы каким-то образом «обновить» область видимости.
К вашему сведению, я использую Rails 3.2 на Heroku Cedar с ActiveAdmin.
Вот рассматриваемый код (который работает, но добавляет новых менеджеров только после перезапуска сервера):
Manager.find_each do |m|
scope m.first_name do |projects|
projects.where(:manager_id => m.id)
end
end
И вся модель проекта Active Admin:
ActiveAdmin.register Project do
menu :priority => 1
index do
column :name
column :company_name
column :status
column :projection do |project|
number_to_currency project.projection
end
column :updated_at
default_actions
end
scope :all
scope :working, :default => true do |projects|
projects.where(:status => 'working')
end
Manager.find_each do |m|
scope m.first_name do |projects|
projects.where(:manager_id => m.id)
end
end
end