Open joaquinalcerro opened 5 years ago
render "form.html", Map.put(assigns, :action, contract_payment_order_path(@conn, :create, @parent))
Is there the changeset
already in the assigns
variable? Could you share IO.inspect(assigns)
just before render
?
Here is the extract of the IO.inspect(assigns). It does include the changeset assign.
adapter: {Plug.Adapters.Cowboy.Conn, :...},
assigns: %{
bank_accounts: [
%Epr.Payments.BankAccount{
__meta__: #Ecto.Schema.Metadata<:loaded, "bank_accounts">,
active: true,
bank: %Epr.Payments.Bank{
__meta__: #Ecto.Schema.Metadata<:loaded, "banks">,
active: true,
bank_accounts: #Ecto.Association.NotLoaded<association :bank_accounts is not loaded>,
id: 1,
inserted_at: ~N[2018-11-09 01:03:24.408027],
name: "Banco Atlantida",
updated_at: ~N[2018-11-09 01:03:24.408060]
},
bank_id: 1,
description: "Cuenta de Lemprias Principal",
id: 1,
inserted_at: ~N[2018-11-09 01:23:40.907474],
num: "765239001",
updated_at: ~N[2018-11-09 01:23:40.907495]
}
],
changeset: #Ecto.Changeset<
action: nil,
changes: %{},
errors: [
date: {"can't be blank", [validation: :required]},
concept: {"can't be blank", [validation: :required]},
check_number: {"can't be blank", [validation: :required]},
bank_account_id: {"can't be blank", [validation: :required]}
],
data: #Epr.Payments.PaymentOrder<>,
valid?: false
>,
currency_us: false,
current_user: %Epr.Accounts.User{
__meta__: #Ecto.Schema.Metadata<:loaded, "users">,
abr: nil,
active: true,
Thanks for this. I still do not understand anyway.
Could you also past the whole new.html.drab
as it is?
Thanks,
This is the complete code for the new.html.drab file:
<p class="title1">Nueva orden de pago</p>
<%=
case @type do
"contract" ->
IO.inspect(assigns)
render "form.html", Map.put(assigns, :action, contract_payment_order_path(@conn, :create, @parent))
"order" ->
render "form.html", Map.put(assigns, :action, order_payment_order_path(@conn, :create, @parent))
"provider" ->
render "form.html", Map.put(assigns, :action, provider_payment_order_path(@conn, :create, @parent))
end
%>
I must say I am quite confused. It should not work, as you try to poke
the assign po_grantotal
to new.html
. There is no such assign obviously, but the error is very confusing.
In Drab, if you want to poke
an assign to the partial, you need to specify the partial and/or the view name.
poke socket, "partial.html", assign: 42
Thanks for your support.
I checked the documenation and change my code. It is working.
Best regards
Reopening as the error message is misleading.
I am currently getting this alert error in the browser when I click the input checkbox:
"An error occured. Please contact the System Administrator"
Mi current configuration:
Drab 0.10.0 Phoenix 1.3.4 Phoenix_html 2.12.0 (currently locked due to fetch_assign/2 issue)
This is the code:
The commander (payment_order_commander.ex):
The controller (payment_order_controller.ex):
The main template (new.html.drab):
This template is the one the controller renders. I tried using the eex extension instead of drab and experience the same error.
The form (form.html.drab):
The first partial (_invoices.html.drab)
The second partial (_invoice_details.html.drab):
This partial has the input checkbox and drab-change event handeler.
Thanks in advance for the help.
Best regards.