2
私はElixir/Phoenixを使用していて、デフォルトのブール値を上書きしようとしていますが、動作しません。ここに私のスキーマです:Phoenix/Elixirのブール値を上書きする
schema "orders" do
field :number_of_customers, :integer
field :completed, :boolean, default: false
belongs_to :table, Pos1.Table
has_many :order_items, Pos1.OrderItem
ので、デフォルトの順序値「完了」をonclickの値が変更されたときにtrueに、しかし私は、ボタンを作りたい、falseです。私は上書きのためにhidden_inputを使用することに決めましたが、何らかの理由でボタンをクリックしても値が変更されません。
<%= form_for @completedchangeset, @action, fn f -> %>
<%= hidden_input f, :completed, value: true %>
<div class="form-group">
<%= submit "Order completed", class: "btn btn-primary" %>
</div>
<% end %>
その他の値はすべて変更できますが、ブール値は変更できません。何が間違っているのですか?
今はチェックできませんが、falseとtrueの代わりに0と1を使用してください。 –
ブール値から型を変更し、0と1を使用するだけですか?なぜなら、ブール値はtrue/false [構文](https://hexdocs.pm/ecto/Ecto.Schema.html)のみを受け入れることができるからです。または方法がありますか? – Ilya
@Ilya 'Order'モデルの必須フィールドかオプションフィールドのどちらかに':completed'がありますか? – Dogbert