2

私は次のコードを持っています:

<% form_for(@libation) do |f| %>
  <%= f.radio_button :carbonated, true  %> <%= f.label :carbonated, "Yes" %>
  <%= f.radio_button :carbonated, false %> <%= f.label :carbonated,  "No" %>
<% end %>

データベースのcarbonated列のタイプはtinyintです。
上記を実行してクリックするとNo、大きな赤いボックスが表示されます。

1 error prohibited this libation from being saved
  There were problems with the following fields:
  * Carbonated can't be blank

何か案は?
-ありがとう

4

2 に答える 2

16

ブール値の検証に問題があったため、必要な存在を検証することを学びました:

validates_inclusion_of :carbonated, :in => [true, false]
于 2009-12-03T11:09:30.110 に答える
-5

はぁ、自分の質問に答えます。「false」を適切に送信しない HTML 仕様に問題があるようです。そのため、いくつかの回避策が必要です。私にとって、モデルファイルには次のものがありました:

validates_presence_of :carbonated

削除するだけで、このエラーメッセージが修正されます。デフォルトは false ですが、true に変更できます。エラーメッセージがなくなりました。

チャオ。

于 2009-07-24T18:10:57.613 に答える