Rails管理员 - STI模型未显示在编辑视图的列表中

时间:2015-02-20 08:51:07

标签: ruby-on-rails ruby rails-admin sti

我有一个主题模型,其中包含许多细节

class Subject < ActiveRecord::Base
    has_many :details, inverse_of: :main_subject, foreign_key: :main_subject_id
end


class Detail
  TYPES = %w(article book event product short_course slide_share video website).freeze
  CLASS_TYPES = TYPES.map { |type| "Detail::#{type.camelize}" }.freeze

  belongs_to :main_subject, inverse_of: :details, class_name: Subject
  enum difficulty: { easy: 1, medium: 2, hard: 3 }

  rails_admin do
    list do
      field :name do
        queryable true
      end

      field :difficulty do
        queryable false
      end
    end
  end
end

应用程序中有多种类型的详细信息,所以我有

class Detail::Article < Detail; end
class Detail::Website < Detail; end
class Detail::Video < Detail; end

当我去编辑“主题”面板时,我的列表中的详细信息为空(正确的指定详细信息正确显示所有相关详细信息),我找不到使用rails_admin填充所有可用详细信息的方法。我已经检查了github和这里,但找不到任何可行的解决方案。是rails_admin错误,它没有在这些列表中显示STI模型,还是我错过了某种配置?

screenshot from rails_admin

左边的列表是空的,尽管db中有200多个可用的详细信息,右边的列表没有显示任何内容,因为没有任何关联(我已经删除了相关的详细信息,并重新加载了页面 - 现在甚至无法将它们带回来)

提前感谢您的任何帮助:)

1 个答案:

答案 0 :(得分:1)

我认为如果有&gt;导轨管理员默认不显示记录。 100,当你开始输入它开始填充时,我发现如果你想要显示所有内容,你可以搜索%,它将从查询中返回所有内容。
wiki page开始,如果您希望预先填充所有记录,可以添加此行

field :details do
  associated_collection_cache_all true
end

PS:请确保您不在list范围内添加此块,将其添加到edit内或根域中,就像在示例中一样

相关问题