2016-08-08 1 views
1

私はシンプルなフォーム(ブートストラップ付き)を使ってレールアプリを作っています。Rails - シンプルなフォーム - boolean属性がfalseのラジオボタンの選択を受け付けない

私は私の形で、この質問があります。

<%= f.input :ethics, as: :radio_buttons, label; 'Is an ethics review relevant?' %> 

倫理属性は、私のテーブルのbooleanです。

フォームには、はい/いいえのラジオボタンが表示されます。

デフォルトは「いいえ」と表示されますが、それが答えであれば、私はフォームを送信できないので止まってしまいます。私は、答えが必要であるというエラーを受け取ります。

なぜ単純な形式では、ブール型の答えとしてfalseが認識されないのですか?

ログが示しています

Processing by ProjectsController#create as HTML 
    Parameters: {"utf8"=>"✓", "authenticity_token"=>"", "project"=>{"title"=>"asdfsdf ", "byline"=>"", "description"=>"asdfsdf ", "problem"=>"", "solution"=>"", "remark"=>"", "ethics"=>"false", 
+0

は、あなたがフォームを送信する際に参照Railsのサーバーのログを貼り付けることはできますか? –

+0

要求から応答までのフルログを追加します。 –

+0

また、*のエラーメッセージが表示されますが、ログにそのようなフィールドは表示されません。 Answerというモデルがありますか? –

答えて

0

あなたはおそらく、あなたのコントローラで許可された属性のリストにethicsフィールドを追加するのを忘れ。

params.require(:project).permit(..., :ethics) 

モデルにはpresenceの検証もありません。 falseはfalseであり、検証のためにfalseを返します。

使用

validates :ethics, inclusion: { in: [ true, false ] } 
+0

私はOPからあなたが自分自身を確かめると思ったことを知ろうとしていました。しかし、OPはそれ以上のログを提供していませんでした-_- –

+0

いいえ - そこにあります。はいラジオボタンを選択してもエラーは発生しません。 – Mel

+0

@MelあなたはどのDBMSを使用していますか? –

関連する問題