如何在附件文件名中更改rails3中模型的错误消息

时间:2013-02-18 19:05:02

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2

我需要更改错误消息

我的模型代码是:

class Resume < ActiveRecord::Base
    attr_accessible :key_skills, :resume_category, :about_myself, :year_experience, :month_experience, :current_salary, :education_details, :jobs_preference, :resume_title,:avatar,:avatar_file_name,:avatar_content_type

    has_attached_file :avatar,
        :storage => :dropbox,
        :dropbox_credentials => "#{Rails.root}/config/dropbox.yml",
        :dropbox_options => {
        :unique_filename => true
    }

    validates_format_of :avatar_file_name, :with => %r{\.(docx|doc|pdf)$}i,:message => "Accept only doc and pdf"    

但是提交表单上显示的错误消息是:“头像文件名仅接受doc和pdf”

我需要错误消息:“只接受doc和pdf”

1 个答案:

答案 0 :(得分:0)

您必须将语言环境文件中的:"errors.format"更改为format: %{message} 这样做,对于任何型号的每条消息,只会打印出消息。

或者,您可以使用以下内容:@resume.errors[:avatar_file_name][0] 0索引是因为您只有那些验证(暂时)。

然而,这个问题的最佳解决方案可能就是:

<% @resume.errors.each do |attr, msg|
     msg = @resume.errors.full_message(attr, msg) unless attr == :avatar_file_name %>