Rails 5 - 关联对象的限制选择

Rails 5 - limit selection of associated object

在我为学习 RoR 而构建的应用程序中,我有带有标签(很像帖子和评论)的注释(用于文档类型的文档)。在注释中添加标签时,我想将标签的可能类型限制为与注释的文档类型具有相同文档类型的标签类型。

为了减少标签类型列表,我已经使用范围来获取活动标签类型。像这样:

<%= f.association :documenttype, :collection => Documenttype.active.order(:name) %>

在此范围内

scope :active, -> { where(active: true) }

如何扩展它以匹配文档类型?如果有范围,如何;如果没有,我应该采取什么方法?

找到解决方案:像这样在 :collection 上添加更多过滤器...

<%= f.association :tagtype, prompt: 'Select tag type', label: false, :collection => Tagtype.active.order(:name).where(:documenttype => @annotation.documenttype_id) %>