Как я могу настроить только поле в rails_admin? - PullRequest
17 голосов
/ 02 апреля 2011

У меня есть поле, для которого 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 ]

18 голосов
/ 06 марта 2012

Лучшее (и более короткое) решение - использовать синтаксис «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 использовать указанное частичное для: состояние, но будет использовать значения по умолчанию для всех других полей.

Дополнительную информацию можно найти по адресу: Rails Admin wiki

2 голосов
/ 20 июля 2011

Текущие документы говорят, что вы можете, например так:

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»), но я не уверен, как добавить обратно has_ ​​* subforms.

2 голосов
/ 20 мая 2011

Как только вы определили одно поле, вы должны определить все поля, которые вы хотите использовать. По умолчанию все поля.

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
1 голос
/ 13 января 2016

Я обычно делаю include_all_fields, затем настраиваю конфиг для моего поля и затем добавляю exclude_fields (для таких полей, как id и метки времени)

...