Использовать формы rails_admin в пользовательских представлениях? - программирование

Использовать формы rails_admin в пользовательских представлениях?

Я создаю собственное собственное представление о том, что мне нужно сделать процесс создания связанных моделей менее болезненным для моих пользователей. Я хочу отобразить все модели, связанные с элементами в строке, с элементами управления для их редактирования. Это довольно просто сворачивать мои собственные для основных полей, но я бы предпочел использовать form_filtering_select partial для встроенных ассоциаций моделей, но я не могу найти никакой документации для этого.

4b9b3361

Ответ 1

Вы можете использовать Вложенная форма

Рассмотрим класс User, который возвращает массив экземпляров Project из метода чтения проектов и отвечает на метод projects_attributes = writer:

class User
  def projects
    [@project1, @project2]
  end

  def projects_attributes=(attributes)
    # Process the attributes hash
  end
end

Обратите внимание, что метод projects_attributes = writer фактически необходим для полей, чтобы правильно идентифицировать: проекты как коллекцию и правильные индексы, которые должны быть установлены в разметке формы.

Когда проекты уже являются ассоциацией пользователя, вы можете использовать accepts_nested_attributes_for для определения метода записи для вас:

class User < ActiveRecord::Base
  has_many :projects
  accepts_nested_attributes_for :projects
end

Теперь эта модель может использоваться с вложенными полями_for. Блок, присвоенный вложенным полям_ для вызова, будет повторяться для каждого экземпляра в коллекции:

<%= nested_form_for @user do |user_form| %>
  ...
  <%= user_form.fields_for :projects do |project_fields| %>
    <% if project_fields.object.active? %>
      Name: <%= project_fields.text_field :name %>
    <% end %>
  <% end %>
  ...
<% end %>

Ниже приведено Ссылка.

Ответ 2

Там крутой камень, который делает многое, что вы хотите. Он называется Вложенные поля формы. Он позволяет редактировать записи (вместе со своими ассоциациями has_many) на одной странице. Самое интересное в том, что он даже использует jQuery для динамического добавления/удаления полей формы без перезагрузки страницы. Оформить драгоценные камни docs для правильного использования. Надеюсь, что это поможет!