【问题标题】:How to select all record from an association in active admin如何从活动管理员中的关联中选择所有记录
【发布时间】:2018-09-29 09:42:21
【问题描述】:

我有一些这样的模型:

class Sponsored < ActiveRecord::Base
  has_many  :sponsored_sports
  has_many  :sports,
            through: :sponsored_sports,
            class_name: 'Sport',
            source: 'sport'
  ...
end

这是运动模特:

class Sport < ActiveRecord::Base
  has_many :sponsored_sports
  ...
end

目前,在赞助活动管理页面中,我通过以下代码一一创建赞助运动:

form do |f|
    f.inputs "Details" do
      ...
      f.has_many :sponsored_sports, heading: '', allow_destroy: true do |e|
        e.input :sport_id, as: :select, :collection => Sport.order('rank'), :label_method => :name, :value_method => :name, :include_blank => false
      end
    end
    f.actions
  end

但现在我只想为用户添加更多选项,以便通过单击复选框一次选择所有运动,例如:select all。那么我该如何在活动管理员中做到这一点?提前致谢。

【问题讨论】:

    标签: ruby-on-rails-4 associations activeadmin


    【解决方案1】:

    您可以在 f.has_many 表单中添加一个按钮或链接并制作一个 javascript,以便在单击此链接时,您可以通过编程将所有值添加到选择中。

    或者您可以向select_all 之类的表单发送新参数,并在 active_admin 控制器部分中更新或创建模型时进行关联:

    controller do
        def update
            super
            *check the params and make the association*
        end
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-02
      • 1970-01-01
      相关资源
      最近更新 更多