Я не уверен, как правильно задать этот вопрос, поэтому я не знаю, есть ли у Google ответ (возможно, однако).
У меня есть две модели:
class Vocabulary < ApplicationRecord
has_many :vocabulary_pairs
validates :name, presence: true, length: { maximum: 50 }
accepts_nested_attributes_for :vocabulary_pairs
attr_accessor :vocabulary_pairs_attributes
end
class VocabularyPair < ApplicationRecord
belongs_to :vocabulary
end
Сокращенная версия моей формы:
<%= form_for @vocabulary, url: { action: 'update' } do |vocabulary_form| %>
<h3><%= @vocabulary.name %></h3>
<%= vocabulary_form.fields_for :vocabulary_pairs, @vocabulary.vocabulary_pairs.build do |pair_field| %>
<%= pair_field.text_field :origin, class: 'form-control' %>
<% end %>
<% end %>
В одном представлении (vocabularies#show
) и форме я бы хотел, чтобы люди могли
- Просмотр / редактирование существующих связей между моделями (поэтому показывать все
VocabularyPairs
для каждого Vocabulary
)
- Создайте новые ассоциации, предварительно создав произвольное (скажем, 10) количество пустых форм ассоциаций.
Как я могу использовать fields_for
, чтобы объединить эти два? Считается ли хорошей практикой даже пытаться? Есть ли лучший способ для этого?