验证消息,使用:base和validates_associated

时间:2013-11-05 10:58:54

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

我在显示错误消息时遇到问题。

我有一个班级有另一个班级。

这样:

class Issue < ActiveRecord::Base
 has_many :attachments, class_name: 'IssueAttachment', dependent: :destroy, autosave:   true
 validates_associated :attachments, :message => [:base] << "-- Teste --"

class IssueAttachment < ActiveRecord::Base
  belongs_to :issue, counter_cache: :attachments_count
  validate :suspitious_attachment

  private
    def suspitious_attachment
      if ends_with? '.bat', '.com', '.exe', '.src', '.cmd'
        errors.add(:base, "..teste..")
      end
    end

  def ends_with?(*args)
    args.each do |arg|
      return true if attachment.path.ends_with? arg
    end
    false
  end 

在错误消息中,我想显示以下内容: ......测试......

但现在出现的信息是: 附件基地......测试... 附件 - Teste -

第一条错误消息是指行: validates_associated:attachments,:message =&gt; [:base]&lt;&lt; “--Teste - ”

第二个: errors.add(:base,“...... teste ......”)

在这两种情况下我都在显示属性,我不想要这个,我只想显示消息。 命令:base根本不起作用,我已经尝试了所有变化,消息不会改变。

我做错了什么? 任何人都可以帮助我吗?

对不起英文:P

0 个答案:

没有答案