

## やりたいこと

２つあるラジオボタンのどちらにもチェックが入っていない場合、バリデーションでエラーメッセージを表示するようにしたい。

## 設定

view

[code]

    = form_with(model: @info) do |f|
      = render 'shared/errors', object: @info
      .field
        = f.radio_button :class, 1
        = f.label :classification, "#{t '.class1'}", value: 1
      .field
        = f.radio_button :class, 2
        = f.label :classification, "#{t '.class2'}", value: 2
      .button-field
        = f.submit "#{t '.title'}", class: "btn btn-primary"
    
[/code]

modelカラム

[code]

    t.integer "class" ## 1:google 2:yahoo
    
[/code]

## 質問

[code]

    validates :class, presence:true
    
[/code]

ノーマルなやり方だとエラーメッセージが出ません。  
ググっても解決できず・・・  
ご教示お願いします。


CC BY-SA 3.0
2018-03-28T04:06:00.330
42693
2019-05-21T08:03:05.670
25446
question
ruby-on-rails
rails ラジオボタンのバリデーションについて


`inclusion` を使うとできそうな気がします。

コードは多分、こんな感じになるかと思います。

[code]

    validates : class, inclusion: {in: [1, 2]}
    
[/code]

参考: <https://qiita.com/shunhikita/items/cb0a7b92c62c10135791>


CC BY-SA 3.0
2018-03-28T09:03:46.813
42709
2018-03-28T09:03:46.813
8160
42693
answer


カラム名にclassというRubyのキーワードを使ってしまっているので、動かないのだと思われます。  
p_classなど別の名前にした上で、inclusionでバリデートすると動くと思います。


CC BY-SA 4.0
2018-06-29T08:54:57.323
45164
2018-06-29T08:54:57.323
7900
42693
answer