【发布时间】:2012-05-04 14:33:25
【问题描述】:
我对动态活动管理范围有疑问。我正在尝试为我的应用程序中“项目”的每个“经理”创建一个范围。但是,当创建新经理(或分配给项目)时,范围似乎没有更新,但如果我重新启动服务器,它们会更新。所以代码本身“有效”,但显然不是我想要的方式。我是一个 ruby/rails 菜鸟,所以我不确定是否需要做一些事情以某种方式“刷新”范围。
作为一个仅供参考,我在 Heroku Cedar 上使用带有 ActiveAdmin 的 Rails 3.2
这是有问题的代码(有效,但只在服务器重启后引入新的管理器):
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
【问题讨论】:
-
下一个答案很棒。我不明白您为什么不将其标记为已回答。
标签: ruby-on-rails ruby heroku activeadmin