respond_to do |format|
if @invoice.save
format.html { render action: 'index', notice: 'Invoice was successfully created.' }
format.json { render action: 'show', status: :created, location: @invoice }
else
format.html { render action: 'new' }
format.json { render json: @invoice.errors, status: :unprocessable_entity }
end
end
end[/code]
a invoice_params tak:
def invoice_params
params.require(:invoice).permit(:number, :date_issued, :payment_due, :description, :payment_description, from_attributes: [:id, :name, :email, :more_info],
to_attributes: [:id, :name, :email, :more_info], lines_attributes: [:id, :product_description, :unit, :unit_value, :quantity, :vat_value, :line_total])
end
Z góry dzięki za pomoc w rozwiązany tego problemu
O ile pamiętam, przy has_one powinieneś mieć pojedynczą liczbę, więc powinno być “fields_for :to do”, co nie zmienia faktu, że nazwa modelu jest po prostu niekomfortowa.
Dla faktur użyłbym raczej issuer i receiver / recipient (odbiorca nazywa się chyba invoicee, ale też nie jest zbyt nazwa). Na pewno łatwiej będzie ci tego używać, niż “to” i “from” (tos, froms?)
z rozkjoarzniem build, a nie bulid. To po pierwsze, a po drugie, w bazie nie zapisuje metoda build, tylko create
Myślę, że warto na jednej z kart mieć otwarte http://api.rubyonrails.org/. Na takie, jakby nie było, proste pytania, dużo szybciej odpowiedź znajdziesz tam niż ktoś Ci odpisze na forum.