undefined方法`has_attached_file错误回形针

时间:2011-09-06 19:01:22

标签: ruby paperclip

我正在尝试使用没有rails的paperclip(但尝试连接rails创建的db)。 使用bundler来获取宝石。

这是我的模特

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 console(使用&#34; rails c&#34;)时,语句会起作用并返回值。(两者都使用相同的宝石)

2 个答案:

答案 0 :(得分:0)

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

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

Bundler是否能够在您的环境中成功加载其他Gems?

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

答案 1 :(得分:0)

有同样的问题。

使用

gem "paperclip", :git => "git://github.com/thoughtbot/paperclip.git"

而是帮忙了。