我有动态主动管理范围的问题.我试图在我的应用程序中为"项目"的每个"经理"创建一个范围.但是,在创建(或分配给项目)新管理器时,范围似乎不会更新,但如果我重新启动服务器,它们会更新.因此代码本身"有效",但显然不是我想要的方式.我是ruby/rails noob所以我不确定我是否需要做某些事情以某种方式"刷新"范围.
作为一个FYI,我在Heroku Cedar上使用Rails 3.2和ActiveAdmin
这是有问题的代码(有效但只在服务器重启后引入新的管理器):
Manager.find_each do |m|
scope m.first_name do |projects|
projects.where(:manager_id => m.id)
end
end
Run Code Online (Sandbox Code Playgroud)
以及整个Active Admin Project模型:
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
Run Code Online (Sandbox Code Playgroud)