【问题标题】:undefined method `has_attached_file error paperclip未定义的方法`has_attached_file错误回形针
【发布时间】:2011-09-06 19:01:22
【问题描述】:

我正在尝试使用没有导轨的回形针(但尝试连接由导轨创建的数据库)。 使用 bundler 来获取 gems。

这是我的模型

class RailsDB < ActiveRecord::Base
  establish_connection $db_config[:rails_db]
end
class VoiceCall < RailsDB
  belongs_to :campaign
  set_table_name :voice_calls

  has_attached_file :sound_file
  validates_attachment_presence :sound_file

end

如果我尝试运行程序,它会抛出错误

undefined method `has_attached_file

有什么想法吗? 编辑: 我的宝石文件

source "http://rubygems.org"
gem 'activerecord', '< 3.1', :require => 'active_record'
gem 'mysql2', '< 0.3'
gem "paperclip", "~> 2.4"

我需要使用宝石

require "bundler/setup"
Bundler.require(:default)

还有一个观察。我开始 irb 并需要活动记录,然后是回形针。并运行了这个

p ActiveRecord::Base.methods.select{|m| m =~ /has_attached_file/}

它返回空列表。
但是当我打开 rails 控制台(使用“rails c”)时,该语句会起作用并返回值。(两者都使用相同的 gem)

【问题讨论】:

    标签: ruby paperclip


    【解决方案1】:

    此错误表示 Paperclip gem 未正确(或根本未)在您的应用程序中加载。

    你能发布你的 Gemfile 和 config/preinitializer.rb 吗?

    bundler 是否可以在您的环境中成功加载其他 Gem?

    我已经看到当 Bundler 没有为 Rails 项目正确配置导致 gem 无法加载时发生这种情况。对于这个更大的问题,回形针模型参考是煤矿中的金丝雀。

    【讨论】:

      【解决方案2】:

      有同样的问题。

      使用

      gem "paperclip", :git =&gt; "git://github.com/thoughtbot/paperclip.git"

      反而帮了忙。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-08-26
        • 2011-08-25
        • 1970-01-01
        • 1970-01-01
        • 2013-12-17
        • 1970-01-01
        • 2018-01-07
        相关资源
        最近更新 更多