symbianchina
2010-08-12 13:36
浏览 231
已采纳

rails在validate时,如何替换view中显示的字段名?

在view中显示validate时的错误信息时,rails默认将字段名显示出来,比如:
content: cannot be blank.

我希望这里不显示Content,而是我指定的名称,怎么修改?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • okela1985851010 2010-08-12 16:14
    已采纳

    可以实现.
    你的validation的错误提示,时在一起还是跟在后面.
    如果你写在后面可以用error_message_on.
    或者你自己可以重写一个方法,很简单的,参考下rails源码,很快就能写出来.
    你可以参考下帖子.
    http://www.iteye.com/topic/469505.
    这个很不错.
    [code="ruby"]ActionView::Base.field_error_proc = Proc.new {|html_tag, instance|
    %(
    #{html_tag}
    <br> var elm = $(&#39;#{instance.object_name}_#{instance.method_name}&#39;);<br> elm.tooltip = new Tooltip(elm, {backgroundColor: &quot;#FC9&quot;, borderColor: &quot;#C96&quot;, textColor: &quot;#000&quot;, textShadowColor: &quot;#FFF&quot;});<br> elm.tooltip.content = &quot;#{instance.error_message.kind_of?(Array) ? instance.error_message.join(&#39;,&#39;) : instance.error_message}&quot;<br> elm.addClassName(&#39;validation-failed&#39;);<br> try{elm.focus();}catch(e){};<br>
    )[/code]

    点赞 打赏 评论
  • horace_lee 2010-08-12 14:44

    [code="ruby"]
    validates_exclusion_of :username, :in => %w( admin superuser ), :message => "You don't belong here"
    validates_exclusion_of :age, :in => 30..60, :message => "This site is only for under 30 and over 60"
    validates_exclusion_of :format, :in => %w( mov avi ), :message => "extension {{value}} is not allowed"
    [/code]
    是说这个吗,message改错误提示,而且,可以进一步修改同一字段不同类型的提示[url=http://hlee.iteye.com/blog/514323]参考[/url]

    点赞 打赏 评论

相关推荐 更多相似问题