Rails 5 / 简单形式-过滤器关联

Rails 5 / Simple form - filter association

在我的表单中,我有一个关联,我希望将可能的选择减少到活动的关联对象的那些记录。根据阅读我的简单形式,我使用:

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

returns

undefined method 'active' ...

我做错了什么

您的模型需要有示波器。

class Documenttype < ActiveRecord::Base
  scope :active, -> { where(active: true) }

这假设您的 table 中有一个名为 active 的布尔列。如果你用其他方式确定它,你会根据你的需要修改 scope,例如,也许你有一个 status 字符串列,它必须有字符串 "approved",所以你会有...

class Documenttype < ActiveRecord::Base
  scope :active, -> { where(status: 'approved') }