我对动态活动管理范围有疑问。我正在尝试为我的应用程序中“项目”的每个“经理”创建一个范围。但是,当创建新经理(或分配给项目)时,范围似乎没有更新,但如果我重新启动服务器,它们会更新。所以代码本身“有效”,但显然不是我想要的方式。我是一个 ruby/rails 菜鸟,所以我不确定我是否需要做一些事情以某种方式“刷新”范围。
作为一个仅供参考,我在 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
以及整个 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