3

我在我的 Rails 应用程序中创建了一个模型,一段时间后意识到我忘记添加一些属性,后来通过生成的迁移添加了它们。

我现在意识到属性列schema.rb的顺序是它们将出现在 ActiveAdmin 中生成的资源视图中的顺序。

当我在 ActiveAdmin 中查看该模型时,我想对列重新排序,而我认为这样做的唯一方法是更改​​数据库中的列顺序。

我查看了此处此处,并尝试使用change_tableor运行数据库迁移change_column。这没有产生任何变化。

这是我运行的迁移,但没有结果:

class Reordercolumn < ActiveRecord::Migration[5.0]
  def up
    change_table :student_details do |t|
      t.change :exact_length, :text, after: :length_of_stay
      t.change :returned_home, :boolean, after: :spouse_name
      t.change :has_spouse, :boolean, after: :expectation
    end
  end
end

为了以特定顺序查看 ActiveAdmin 中的属性列,我运行了数据库迁移以更改列,但迁移并未对列重新排序。

4

1 回答 1

2

您需要重新排序 ActiveAdmin 中的列吗?让我们在相应的admin/student_detail.rb文件中进行

index do
  selectable_column
  column :exact_length
  column :returned_home
  column :has_spouse
end

show do
  attributes_table do
    row :title
    row :returned_home
    row :has_spouse
  end
end

有关自定义索引显示视图的更多信息,您可以在文档中找到

于 2019-02-02T01:55:26.130 回答