Подтвердить что ты не робот

Как настроить только поле в 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 просто принять значения по умолчанию для других полей?

4b9b3361

Ответ 1

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

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

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

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

Ответ 3

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

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

... но он все равно удаляет ассоциативные подформы. (Вы можете добавить обратно принадлежность к элементам с полем: association_id (не "поле: ассоциация" ), но я не уверен, как добавить back_s_forms.

Ответ 4

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