【问题标题】:Rails 5: Generatre Paperclip Migration Project Image ErrorRails 5:生成回形针迁移项目图像错误
【发布时间】:2018-10-13 09:08:47
【问题描述】:

当我尝试使用回形针生成迁移时出现错误。我使用的是 5.1.0 版,它以前可以工作,但现在我在命令行中收到此错误。我不确定是什么原因。

我也在用active_admin,可能有冲突?

C:\Users\Arnas\Desktop\StartUp>rails g paperclip project image
    C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activemodel-5.2.1/lib/active_model/validations/validates.rb:121:in `rescue in block in validates': Unknown validator: 'LegnthValidator' (ArgumentError)
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activemodel-5.2.1/lib/active_model/validations/validates.rb:118:in `block in validates'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activemodel-5.2.1/lib/active_model/validations/validates.rb:114:in `each'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activemodel-5.2.1/lib/active_model/validations/validates.rb:114:in `validates'
            from C:/Users/Arnas/Desktop/StartUp/app/models/task.rb:4:in `<class:Task>'
            from C:/Users/Arnas/Desktop/StartUp/app/models/task.rb:1:in `<top (required)>'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:50:in `load'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:50:in `load'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-5.2.1/lib/active_support/dependencies.rb:472:in `block in load_file'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-5.2.1/lib/active_support/dependencies.rb:657:in `new_constants_in'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-5.2.1/lib/active_support/dependencies.rb:471:in `load_file'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-5.2.1/lib/active_support/dependencies.rb:369:in `block in require_or_load'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-5.2.1/lib/active_support/dependencies.rb:37:in `block in load_interlock'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-5.2.1/lib/active_support/dependencies/interlock.rb:14:in `block in loading'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-5.2.1/lib/active_support/concurrency/share_lock.rb:151:in `exclusive'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-5.2.1/lib/active_support/dependencies/interlock.rb:13:in `loading'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-5.2.1/lib/active_support/dependencies.rb:37:in `load_interlock'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-5.2.1/lib/active_support/dependencies.rb:352:in `require_or_load'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/active_support.rb:46:in `block in require_or_load'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/active_support.rb:16:in `allow_bootsnap_retry'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/active_support.rb:45:in `require_or_load'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-5.2.1/lib/active_support/dependencies.rb:506:in `load_missing_constant'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/active_support.rb:58:in `block in load_missing_constant'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/active_support.rb:16:in `allow_bootsnap_retry'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/active_support.rb:57:in `load_missing_constant'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-5.2.1/lib/active_support/dependencies.rb:193:in `const_missing'
            from C:/Users/Arnas/Desktop/StartUp/app/admin/tasks.rb:1:in `<top (required)>'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:50:in `load'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:50:in `load'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-5.2.1/lib/active_support/dependencies.rb:281:in `block in load'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-5.2.1/lib/active_support/dependencies.rb:253:in `load_dependency'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-5.2.1/lib/active_support/dependencies.rb:281:in `load'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activeadmin-1.3.1/lib/active_admin/application.rb:234:in `block in load'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activeadmin-1.3.1/lib/active_admin/error.rb:41:in `capture'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activeadmin-1.3.1/lib/active_admin/application.rb:234:in `load'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activeadmin-1.3.1/lib/active_admin/application.rb:226:in `block in load!'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activeadmin-1.3.1/lib/active_admin/application.rb:226:in `each'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activeadmin-1.3.1/lib/active_admin/application.rb:226:in `load!'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activeadmin-1.3.1/lib/active_admin/application.rb:248:in `routes'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activeadmin-1.3.1/lib/active_admin.rb:77:in `routes'
            from C:/Users/Arnas/Desktop/StartUp/config/routes.rb:3:in `block in <top (required)>'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/actionpack-5.2.1/lib/action_dispatch/routing/route_set.rb:432:in `instance_exec'
            from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/actionpack-5.2.1/lib/action_dispatch/routing/route_set.rb:432:in `eval_block'

我的任务.rb

class Task < ApplicationRecord
  belongs_to :project

  validates :title, presence: true, legnth: { maximum: 50 }
  validates :video, presence: true
  validates :tag, presence: true
  validates :project, presence: true
end

【问题讨论】:

  • 您的验证似乎写错了。你能发布你的任务模型吗?
  • stackoverflow.com/questions/14451800/… 好像是类似的问题
  • @Mark 添加了 task.rb
  • task.rb "legnth" 中有错字,谢谢!

标签: ruby-on-rails ruby paperclip


【解决方案1】:

错误消息会告诉您确切的问题所在。

legnth 不是有效的 Rails 验证选项。简单的错字。

改成:

 validates :title, presence: true, length: { maximum: 50 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    相关资源
    最近更新 更多