Ruby 使用带有Padrino的回形针

Ruby 使用带有Padrino的回形针,ruby,heroku,amazon-s3,paperclip,padrino,Ruby,Heroku,Amazon S3,Paperclip,Padrino,背景:我正在使用Padrino、Ruby 1.9.2构建一个简单的博客, 哈姆和希罗库。我希望帖子索引有一个像杂志一样的外观 去吧。对于索引中的每个帖子,用户都应该看到标题、内容 挑逗,和图像。我的问题是附加图像 问题:我一直在尝试使用回形针宝石来附加图像 到每个岗位。Heroku将从Amazon S3垃圾箱中获取实际图像。 到目前为止,当我尝试运行迁移时,出现了以下错误: $ .../base.rb:1088:in `method_missing': undefined method `has

背景:我正在使用Padrino、Ruby 1.9.2构建一个简单的博客, 哈姆和希罗库。我希望帖子索引有一个像杂志一样的外观 去吧。对于索引中的每个帖子,用户都应该看到标题、内容 挑逗,和图像。我的问题是附加图像

问题:我一直在尝试使用回形针宝石来附加图像 到每个岗位。Heroku将从Amazon S3垃圾箱中获取实际图像。 到目前为止,当我尝试运行迁移时,出现了以下错误:

$ .../base.rb:1088:in `method_missing': undefined method
`has_attached_file' for #<Class:0xa672140> (NoMethodError)
--问:完整的错误输出是什么样子的? --A:

jared:~/blog$padrino-rake-ar:migrate
=>正在执行Rake ar:migrate。。。
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/
活动\u记录/base.rb:1088:“方法\u缺少”:未定义的方法
`已为#附上#文件(命名错误)
from/home/jared/istrhmus2/app/models/post.rb:2:in`'
from/home/jared/istrhmus2/app/models/post.rb:1:in`'
来自/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
活动支持/依赖项。rb:240:in'require'
来自/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
活动\u支持/依赖项。rb:240:在“请求中的块”中
来自/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
活动\u支持/依赖项。rb:223:in`block in load\u依赖项'
来自/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
活动\u支持/依赖项。rb:640:in`new\u constants\u in'
来自/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
活动的\u支持/依赖项。rb:223:在“加载\u依赖项”中
来自/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
活动支持/依赖项。rb:240:in'require'
from/usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino堆芯/重新装载机。rb:148:处于“安全装载”状态
from/usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino core/loader.rb:162:in`block in require_dependencies'
from/usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino堆芯/装载机。rb:160:in‘each’
from/usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino core/loader.rb:160:in'require_dependencies'
from/usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino core/application.rb:34:in“inherited”
from/home/jared/blog/app/app.rb:1:in`'
来自/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
活动支持/依赖项。rb:240:in'require'
来自/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
活动\u支持/依赖项。rb:240:在“请求中的块”中
来自/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
活动\u支持/依赖项。rb:223:in`block in load\u依赖项'
来自/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
活动\u支持/依赖项。rb:640:in`new\u constants\u in'
来自/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
活动的\u支持/依赖项。rb:223:在“加载\u依赖项”中
来自/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
活动支持/依赖项。rb:240:in'require'
from/usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino堆芯/重新装载机。rb:148:处于“安全装载”状态
from/usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino core/loader.rb:162:in`block in require_dependencies'
from/usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino堆芯/装载机。rb:160:in‘each’
from/usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino core/loader.rb:160:in'require_dependencies'
from/usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino core/mounter.rb:148:in'locate_app_object'
from/usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino core/mounter.rb:30:in'initialize'
from/usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
帕德里诺核心/贴片机。rb:221:in‘new’
from/usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
帕德里诺磁芯/贴片机。rb:221:in‘mount’
from/home/jared/blog/config/apps.rb:34:in`'
来自/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
活动支持/依赖项。rb:240:in'require'
来自/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
活动\u支持/依赖项。rb:240:在“请求中的块”中
来自/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
活动\u支持/依赖项。rb:223:in`block in load\u依赖项'
来自/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
活动\u支持/依赖项。rb:640:in`new\u constants\u in'
来自/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
活动的\u支持/依赖项。rb:223:在“加载\u依赖项”中
来自/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
活动支持/依赖项。rb:240:in'require'
from/usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino堆芯/重新装载机。rb:148:处于“安全装载”状态
from/usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino core/loader.rb:162:in`block in require_dependencies'
from/usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino堆芯/装载机。rb:160:in‘each’
from/usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino core/loader.rb:160:in'require_dependencies'
from/usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino堆芯/加载器。rb:70:in“加载中的块!”
from/usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino堆芯/装载机。rb:70:in‘每个’
from/usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino堆芯/装载机。rb:70:in'load!'
from/home/jared/blog/config/boot.rb:29:in`'
from/usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino core/cli/base.rb:56:in'require'
来自/usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.1
class AddPictureToPost < ActiveRecord::Migration
  def self.up
    change_table :posts do |t|
      t.has_attached_file :picture
    end
  end

  def self.down
    drop_attached_file :posts, :picture
  end
end
class Post < ActiveRecord::Base
  has_attached_file :picture,
    :storage => :s3,
    :bucket => 'blog_images',
    :s3_credentials => {
      :access_key_id => ENV['S3_KEY'],
      :secret_access_key => ENV['S3_SECRET']
    }
end
class Blog < Padrino::Application
  register Padrino::Rendering
  register Padrino::Mailer
  register Padrino::Helpers

  enable :sessions

  get '/' do
    haml :index
  end
end
PADRINO_ENV  = ENV["PADRINO_ENV"] ||= ENV["RACK_ENV"] ||=
"development"  unless defined?(PADRINO_ENV)
PADRINO_ROOT = File.expand_path('../..', __FILE__) unless defined?
(PADRINO_ROOT)

require 'rubygems' unless defined?(Gem)
require 'bundler/setup'
Bundler.require(:default, PADRINO_ENV)

Padrino.before_load do
end

Padrino.after_load do
end

Padrino.load!
jared:~/blog$ padrino rake ar:migrate
=> Executing Rake ar:migrate ...
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-3.1.3/lib/
active_record/base.rb:1088:in `method_missing': undefined method
`has_attached_file' for #<Class:0xa1ffb30> (NoMethodError)
        from /home/jared/isthmus2/app/models/post.rb:2:in `<class:Post>'
        from /home/jared/isthmus2/app/models/post.rb:1:in `<top (required)>'
        from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
active_support/dependencies.rb:240:in `require'
        from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
active_support/dependencies.rb:240:in `block in require'
        from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
active_support/dependencies.rb:223:in `block in load_dependency'
        from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
active_support/dependencies.rb:640:in `new_constants_in'
        from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
active_support/dependencies.rb:223:in `load_dependency'
        from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
active_support/dependencies.rb:240:in `require'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino-core/reloader.rb:148:in `safe_load'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino-core/loader.rb:162:in `block in require_dependencies'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino-core/loader.rb:160:in `each'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino-core/loader.rb:160:in `require_dependencies'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino-core/application.rb:34:in `inherited'
        from /home/jared/blog/app/app.rb:1:in `<top (required)>'
        from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
active_support/dependencies.rb:240:in `require'
        from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
active_support/dependencies.rb:240:in `block in require'
        from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
active_support/dependencies.rb:223:in `block in load_dependency'
        from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
active_support/dependencies.rb:640:in `new_constants_in'
        from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
active_support/dependencies.rb:223:in `load_dependency'
        from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
active_support/dependencies.rb:240:in `require'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino-core/reloader.rb:148:in `safe_load'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino-core/loader.rb:162:in `block in require_dependencies'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino-core/loader.rb:160:in `each'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino-core/loader.rb:160:in `require_dependencies'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino-core/mounter.rb:148:in `locate_app_object'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino-core/mounter.rb:30:in `initialize'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino-core/mounter.rb:221:in `new'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino-core/mounter.rb:221:in `mount'
        from /home/jared/blog/config/apps.rb:34:in `<top (required)>'
        from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
active_support/dependencies.rb:240:in `require'
        from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
active_support/dependencies.rb:240:in `block in require'
        from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
active_support/dependencies.rb:223:in `block in load_dependency'
        from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
active_support/dependencies.rb:640:in `new_constants_in'
        from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
active_support/dependencies.rb:223:in `load_dependency'
        from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/
active_support/dependencies.rb:240:in `require'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino-core/reloader.rb:148:in `safe_load'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino-core/loader.rb:162:in `block in require_dependencies'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino-core/loader.rb:160:in `each'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino-core/loader.rb:160:in `require_dependencies'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino-core/loader.rb:70:in `block in load!'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino-core/loader.rb:70:in `each'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino-core/loader.rb:70:in `load!'
        from /home/jared/blog/config/boot.rb:29:in `<top (required)>'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino-core/cli/base.rb:56:in `require'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino-core/cli/base.rb:56:in `block in rake'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino-core/cli/base.rb:140:in `capture'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/lib/
padrino-core/cli/base.rb:56:in `rake'
        from /usr/local/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/task.rb:
22:in `run'
        from /usr/local/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/
invocation.rb:118:in `invoke_task'
        from /usr/local/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor.rb:
263:in `dispatch'
        from /usr/local/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/base.rb:
389:in `start'
        from /usr/local/lib/ruby/gems/1.9.1/gems/padrino-core-0.10.5/bin/
padrino:9:in `<top (required)>'
        from /usr/local/bin/padrino:19:in `load'
        from /usr/local/bin/padrino:19:in `<main>'
  ActiveRecord::Base.send(:include, Paperclip::Glue)
  File.send(:include, Paperclip::Upfile)

  Paperclip.options[:logger] = Padrino.logger