【问题标题】:How to display only unchecked items in active admin for has many relationship?如何在活动管理员中仅显示未选中的项目有很多关系?
【发布时间】:2026-01-23 04:30:02
【问题描述】:

我正在使用带有活动管理员的 Ruby on Rails 5 作为资源管理的后端。我需要在新建和编辑操作中始终显示 check_boxes 字段中唯一未选中的项目。我认为这是最好的管理方式,而不是对集合运行复杂的查询。我所有与此相关的模型都工作正常。

如果尚未检查,它应该只显示第二项。 现在我的代码 sn-p 是

f.input :subscribers, :as => :check_boxes, :collection => Subscriber.all.collect {|subscriber| [subscriber.email, subscriber.id]}

在活动管理员中有没有办法只显示未选中的值?

【问题讨论】:

    标签: ruby-on-rails ruby activeadmin


    【解决方案1】:

    您是否考虑过在这种情况下使用collection_check_boxes

    看起来像这样:

    <%= f.collection_check_boxes(:subscribers_ids, Subscriber.all, :id, :email) do |b| %>
      <% if !b.check_box.include?(checked="checked")  %>
        <%= b.label %>
        <%= b.check_box %>
      <% end %>
    <% end %>
    

    我认为这应该可以解决您的问题。如果你想了解更多关于collection_check_boxes

    【讨论】:

      最近更新 更多