3
# ==Schema Information
# Schema version:
# Table name: terms
#  id                 :integer         not null, primary key
...
#  user_id            :integer
#  term_type          :string(255)`

term.rb:

  class Term < ActiveRecord::Base 
validates   :term_type,         :inclusion => { :in => %w(Term Segment Entity Abbreviation) }`

Rails 3.0.3、ruby 1.8.7、Cygwin 経由の Windows 検証が機能していないようです。つまり、term_type の任意の値を受け入れます。インクルージョン (または同じ失敗条件を生成する validates_inclusion_of) を使用する場合、モデル内のものと一致する DB 検証が必要ですか? 注意が必要な文字列の問題はありますか?

Term_type は DB 内の単なる文字列であり、別のテーブルではありません。

どんなポインタでも大歓迎です。

ヴィンス

4

1 に答える 1

6

使ってみましたか

validates :field, :inclusion => %{abc ade aeee}
于 2011-02-18T11:57:28.297 に答える