Я создаю собственное собственное представление о том, что мне нужно сделать процесс создания связанных моделей менее болезненным для моих пользователей. Я хочу отобразить все модели, связанные с элементами в строке, с элементами управления для их редактирования. Это довольно просто сворачивать мои собственные для основных полей, но я бы предпочел использовать form_filtering_select
partial для встроенных ассоциаций моделей, но я не могу найти никакой документации для этого.
Использовать формы rails_admin в пользовательских представлениях?
Ответ 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 для правильного использования. Надеюсь, что это поможет!