ruby-on-rails – Paperclip Heroku S3问题
发布时间:2020-12-17 02:29:06 所属栏目:百科 来源:网络整理
导读:我跟着 this tutorial在heroku上设置了带有s3的Paperclip.它工作正常! 但现在我搬到了一个新的项目,我试图复制我用第一个步骤使图像上传工作.但我不能,这让我发疯!请帮我解决这个问题……我已经失去了几个小时. : – / 这就是发生的事情: 我创建了一个选
我跟着
this tutorial在heroku上设置了带有s3的Paperclip.它工作正常!
但现在我搬到了一个新的项目,我试图复制我用第一个步骤使图像上传工作.但我不能,这让我发疯!请帮我解决这个问题……我已经失去了几个小时. : – / 这就是发生的事情: 这是我的模型文件: class Activity < ActiveRecord::Base has_many :infos,:dependent => :destroy has_many :links,:dependent => :destroy has_many :events,:dependent => :destroy accepts_nested_attributes_for :infos has_attached_file :photo,:styles =>{ :thumb => "80x60#",:medium => "160x120#",:large => "320x240#",:home => "320x370#" },:storage => :s3,:s3_credentials => "#{RAILS_ROOT}/config/s3.yml",:path => ":attachment/activities/:id/:style.:extension",:bucket => 'andrea' end 我的Gemfile: source 'http://rubygems.org' gem 'rails','3.0.5' gem "paperclip","~> 2.3" gem 'aws-s3' # Bundle edge Rails instead: # gem 'rails',:git => 'git://github.com/rails/rails.git' gem 'sqlite3' # Use unicorn as the web server # gem 'unicorn' # Deploy with Capistrano # gem 'capistrano' # To use debugger (ruby-debug for Ruby 1.8.7+,ruby-debug19 for Ruby 1.9.2+) # gem 'ruby-debug' # gem 'ruby-debug19',:require => 'ruby-debug' # Bundle the extra gems: # gem 'bj' # gem 'nokogiri' # gem 'sqlite3-ruby',:require => 'sqlite3' # gem 'aws-s3',:require => 'aws/s3' # Bundle gems for the local environment. Make sure to # put test-only gems in this group so their generators # and rake tasks are available in development mode: # group :development,:test do # gem 'webrat' # end 和我的s3.yml(用完整的键代替“……”): development: bucket: andrea access_key_id: AKIAII... secret_access_key: vM977oy6W2TIbArCG9... test: bucket: andrea access_key_id: AKIAII... secret_access_key: vM977oy6W2TIbArCG9... production: bucket: andrea access_key_id: AKIAII... secret_access_key: vM977oy6W2TIbArCG9... 这是日志: WARNING: Can't mass-assign protected attributes: infos_attributes [1m[36mAREL (0.3ms)[0m [1mINSERT INTO "activities" ("photo","created_at","updated_at","home","photo_file_name","photo_content_type","photo_file_size","photo_updated_at","name") VALUES (NULL,'2011-04-20 13:27:57.428869',NULL,NULL)[0m [paperclip] Saving attachments. Redirected to http://localhost:3000/activities/15 Completed 302 Found in 45ms Started GET "/activities/15" for 127.0.0.1 at 2011-04-20 15:27:57 +0200 Processing by ActivitiesController#show as HTML Parameters: {"id"=>"15"} [1m[35mActivity Load (0.9ms)[0m SELECT "activities".* FROM "activities" WHERE "activities"."id" = 15 LIMIT 1 Rendered activities/show.html.erb within layouts/application (13.5ms) Completed 200 OK in 39ms (Views: 17.2ms | ActiveRecord: 1.2ms) Started GET "/photos/large/missing.png" for 127.0.0.1 at 2011-04-20 15:27:57 +0200 ActionController::RoutingError (No route matches "/photos/large/missing.png"): 如果您需要更多信息,请告诉我! 哦,我已经尝试过heroku重启,但没有任何改变. 解决方法
哦耶!!
最后我抓住了它:我需要更改我的_form.html.erb <%= form_for @activity do |f| %> ... <% end %> 至 <%= form_for @activity,:html => { :multipart => true } do |f| %> ... <% end %> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |