Rails 3、ActiveAdmin 自定义过滤器

发布于 2024-12-10 21:46:54 字数 364 浏览 1 评论 0原文

我有 3 个关联模型:

class Brand < ActiveRecord::Base
  has_many :car_models
end

class CarModel < ActiveRecord::Base
  has_many :production_years
  belongs_to :brand
end

class ProductionYear < ActiveRecord::Base
  belongs_to :car_model
end

那么,如果我想按品牌进行过滤,如何在 ActiveAdmin Production_year 部分中创建自定义过滤器?默认过滤器:car_model 选择和年份值

I have 3 associated models:

class Brand < ActiveRecord::Base
  has_many :car_models
end

class CarModel < ActiveRecord::Base
  has_many :production_years
  belongs_to :brand
end

class ProductionYear < ActiveRecord::Base
  belongs_to :car_model
end

So, how i can make custom filter in ActiveAdmin production_year section, if i want make filtering by Brand? Default filters there: car_model select and year value

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

穿越时光隧道 2024-12-17 21:46:54

你尝试过这样的事情吗?

ActiveAdmin.register ProductionYear do
  filter :brand, :as => :check_boxes, :collection => proc { Brand.all }
end

编辑哎呀我没有注意到你的关联的复杂性,我认为如果你将其添加到你的 ProductionYear 类中,事情应该会更好:

class ProductionYear < ActiveRecord::Base
   belongs_to :car_model
   has_one :brand, :through => :car_model
end

Did you try something like this?

ActiveAdmin.register ProductionYear do
  filter :brand, :as => :check_boxes, :collection => proc { Brand.all }
end

EDIT oops I didn't notice the complexity of your association, I think if you add this to your ProductionYear class things should work better:

class ProductionYear < ActiveRecord::Base
   belongs_to :car_model
   has_one :brand, :through => :car_model
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文