在fields_for表单中包含现有和新的has_many嵌套对象

时间:2019-01-18 09:31:57

标签: ruby-on-rails ruby

我不确定如何正确地询问这个问题,因此我不知道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来结合这两个?尝试尝试是否被认为是好的做法?有没有最佳方法

0 个答案:

没有答案