ssc*_*rus 3 validation model ruby-on-rails ruby-on-rails-3
我正在构建一个很长的术语列表,我希望阻止它进入一个字段validates_exclusion_of.这个列表变得越来越长,其中的一些术语可能对其他程序员来说不合适/令人反感/分散注意力/拖延诱导.有没有办法将以下代码连接到我的仓库上的某个单独的纯文本文档?
validates_exclusion_of :path, :in => %w( long list of bad words ... ), :message => "This is a protected word. Please try another."
Run Code Online (Sandbox Code Playgroud)
额外奖励:当用户输入其中一个术语时,此消息不会显示在我的表单上.如何显示消息?
您不必使用validates_exclusion_of,您只需定义自己的验证
validate :check_bad_words
def check_bad_words
@bad_words ||= File.read('badwords.txt').split
errors.add_to_base("#{path} is a protected word. Please try another.") if @bad_words.include? path
end
Run Code Online (Sandbox Code Playgroud)
为了显示在窗体上的错误消息,在旧的rails中它是
<%= f.error_messages%>其中f是表单
对于rails 3.xi认为你必须按照Rails 3.0中的f.error_messages自己做
| 归档时间: |
|
| 查看次数: |
1051 次 |
| 最近记录: |