チェックボックスなどで複数の値を受け取るフォームで、直接変な値をポストされた時に弾きたいと思ったのですが、最初から用意されてるバリデーションではできないようですね。inclusionは値が単一であることが前提なので使えません。独自バリデーターを書く必要があります。
Gistにアップしたので参考にどうぞ。
ちなみにapp/validations
に独自バリデーターを置くのはよくやるっぽいですが、パスを通さないと読み込まないので注意してください。
# config/application.rb
config.paths.add Rails.root.join('app', 'validators').to_s, eager_load: true
本筋とは関係ないですがホワイトリストはwhite list
ではなくwhitelist
という一語なんですね。