【问题标题】:Rails : Paperclip MissingRequiredValidatorErrorRails:回形针 MissingRequiredValidatorError
【发布时间】:2015-09-25 15:37:32
【问题描述】:

我的 rails 应用程序中有一个多态资源:

class Media < ActiveRecord::Base
  # some stuff
  belongs_to :mediable, :polymorphic => true
  # some stuff

  class Media::TeaserCroppedImage < Media
   has_attached_file :attachment,
                :styles                => ...,
                :processors            => ...,
                :path                  => "...",
                :url                   => "...",
                # ...

   validates_attachment :attachment, matches: { file_name: ["image/jpeg", "image/jpg"] }

如您所见,我尝试添加回形针验证器。但显然,它不起作用,我仍然收到错误 MissingRequiredValidatorError。

验证器的语法有问题吗?

【问题讨论】:

  • 不应该是validates_attachment_content_type :attachment, :content_type =&gt; ["image/jpg", "image/jpeg"]吗?

标签: ruby-on-rails validation ruby-on-rails-4 paperclip


【解决方案1】:

您必须包含 content_type 验证,如下所示:

validates_attachment_content_type :attachment, :content_type => ["image/jpg", "image/jpeg"]

或者你可以用这个替换你当前的验证:

validates_attachment_file_name :attachment, :matches => [/jpe?g\Z/]

【讨论】:

  • 问题是,当我尝试这个时,我有这个错误:undefined method 'attachment_content_type' for #&lt;Media::TeaserCroppedImage:0x007fbd02b89428&gt;。事实上,我的附件没有 content_type。唯一可用的东西似乎是文件名。
  • 这个怎么样? validates_attachment_file_name :attachment, :matches =&gt; [/jpe?g\Z/]?
  • 必须等待一段时间才能接受答案;)
  • 哦,我明白了,太快了;)
猜你喜欢
  • 2014-02-25
  • 2013-05-15
  • 1970-01-01
  • 2023-04-01
  • 2014-03-20
  • 2013-07-25
  • 1970-01-01
  • 1970-01-01
  • 2017-01-14
相关资源
最近更新 更多