ネストされた属性を持つフォームを作成しようとしています。私のビューでは、デフォルトでフィールドの 1 つのグループを pessoaに、もう 1 つviews/pedidos/new.html.erb
のフィールドをprodutoに表示したいと考えています。私のPedidosControllerでは、私が使用pessoa = @pedido.build_pessoa
したものは完全に機能します。produto = @pedido.build_produtos
undefined method 'build_produtos' for #<Pedido id: nil, created_at: nil, updated_at: nil>
これが私のモデルと私のコントローラーです(足場を使用して生成しました)
class Pedido < ActiveRecord::Base
attr_accessible :pessoa_attributes, :produtos_attributes
has_one :pessoa
has_many :produtos
accepts_nested_attributes_for :pessoa, :produtos, allow_destroy: true
end
class Pessoa < ActiveRecord::Base
attr_accessible :email, :nome, :telefone
belongs_to :pedido
end
class Produto < ActiveRecord::Base
attr_accessible :nome, :quantidade
belongs_to :pedido
end
class PedidosController < ApplicationController
def new
@pedido = Pedido.new
1.times do
pessoa = @pedido.build_pessoa
produto = @pedido.build_produtos
end
respond_to do |format|
format.html # new.html.erb
format.json { render json: @pedido }
end
end
end