RAILS 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、Windows(通过 Cygwin) 验证似乎不起作用,即它接受 term_type 的任何值。 使用包含(或产生相同失败条件的 validates_inclusion_of)时,我是否需要与模型中的验证相匹配的数据库验证? 我应该警惕的字符串有什么问题吗?
Term_type 只是数据库中的一个字符串,而不是一个单独的表。
非常感谢任何指点。
文斯
# ==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, Windows via Cygwin
The validation does not seem to work, i.e. it accepts any value for term_type.
When using inclusion (or validates_inclusion_of which produces the same fail condition) do I need DB validations matching those in the model?
Any issues with Strings I should be wary of?
Term_type is just a string in the DB and not a separate table.
Any pointers much appreciated.
Vince
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

你有没有尝试过使用
Have you tried using