You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ActiveAdmin has_many助手仅显示单条记录问题求助

ActiveAdmin has_many助手仅显示最后一条子记录的问题

我的应用中出现了一个奇怪的问题:一处ActiveAdmin的form.has_many助手可正常工作,但另一处几乎完全相同的代码仅显示列表中的最后一条记录。

ActiveAdmin代码

form do |f|
  # ...
  unless resource.practices.blank?
    panel "Practices" do
      f.inputs do
        f.has_many :practices, sortable: :position, sortable_start: 0, allow_destroy: true, new_record: false, heading: false do |t|
          t.input :title, input_html: {readonly: true}
        end
      end
    end
  end
end

尽管数据库中存在3条practice记录,但表单上仅显示1条(截图显示表单内仅有一条practice记录)。

模型代码

class PracticeCategory < ApplicationRecord
  belongs_to :course
  has_many :practices
  #...
end

class Practice < ApplicationRecord
  belongs_to :video
  belongs_to :practice_category

  delegate :course, to: :practice_category
end

已尝试的解决方法

  • 调试表单时查询所有Practice记录(返回3条)
  • 修改关联关系的排序方式(升序和降序均尝试)
  • 在has_many块内调试(仅执行一次)
  • 搜索相关问题(未找到类似案例)

当前使用Activeadmin 3.2.2和rails 7.1.3版本。

内容的提问来源于stack exchange,提问作者AJFaraday

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 00:48:14