如何仅在rails_admin中自定义字段?

时间:2011-04-02 16:35:58

标签: rails-admin

我有一个rails_admin生成文本字段的字段,但我希望它使用<select>标记。我在我的初始化程序中定制了这样的字段:

RailsAdmin.config do |config|
  config.model User do
    update do
      field :state do
        partial "user_state_partial"
      end
    end
  end
end

我测试了它,它的确有效。问题是,通过这样做(我也尝试使用编辑块),剩下的唯一字段是我正在定制的字段。有没有办法告诉rails_admin只假设其他字段的默认值?

4 个答案:

答案 0 :(得分:18)

更好(更短)的解决方案是使用'configure'语法而不是'field'。 通过使用configure,rails_admin将使用所有其他值的默认值。

例如,使用以下内容:

RailsAdmin.config do |config|
  config.model User do
    update do
      configure :state do
        partial "user_state_partial"
      end
    end
  end
end

...将允许RailsAdmin使用所声明的partial for:state,但它将使用所有其他字段的默认值。

可在以下网址找到更多信息:Rails Admin wiki

答案 1 :(得分:2)

定义一个字段后,必须定义要使用的所有字段。 默认为所有字段。

RailsAdmin.config do |config|
  config.model User do
    update do
      field :name
      field :surname
      field :state do
        partial "user_state_partial"
      end
    end
  end
end

答案 2 :(得分:2)

目前的文档说你可以这样:

field :name do
  # snipped specific configuration for name attribute
end

include_all_fields # all other default fields will be added after, conveniently
exclude_fields :created_at # but you still can remove fields

...但它仍会删除关联子表单。 (您可以使用“field:association_id”(而不是“field:association”)添加回belongs_to项目,但我不确定如何添加回has_ *子表单。

答案 3 :(得分:1)

我通常会使用include_all_fields,然后为我的字段自定义配置,然后添加exclude_fields(对于id和timestamps等字段)。