0

アプリを Heroku にデプロイすることに決め、チュートリアルに従っていました。ただし、現在、ペーパークリップ プラグインを使用して Amazon S3 バケットに接続しようとすると、次のエラーが発生します。

ArgumentError in Images#index

19行目が発生した app/views/images/index.html.erb を表示:

行 0、列 39 の構文エラー: `bucket: (MY BUCKET HERE)
access_key_id: (MY ACCESS KEY ID HERE)
secret_access_key: (MY SECRET ACCESS KEY HERE)
'
抽出されたソース (行 #19 付近):

16: <%=h image.created_at %>
17: <%=h image.updated_at %>
18:
19: <% if image.img.exists? 次に %>
20:

<%= image_tag image.img.url(:thumb) %>


21: <% その他 %>
22:

写真が添付されていません。アップロードしてください。

RAILS_ROOT: C:/Users/Mariusz/Sites/wiw_development

アプリケーション トレース | フレームワーク トレース | フル トレース
C:/Ruby/lib/ruby/1.8/yaml.rb:133:in load' C:/Users/Mariusz/Sites/wiw_development/vendor/plugins/paperclip/lib/paperclip/storage.rb:236:in parse_credentials' C:/Users/Mariusz/Sites/wiw_development/vendor/plugins/paperclip/lib/paperclip/storage.rb:138:in instance_eval' C:/Users/Mariusz/Sites/wiw_development/vendor/plugins/paperclip/lib /paperclip/storage.rb:137:in extends' C:/Users/Mariusz/Sites/wiw_development/vendor/plugins/paperclip/lib/paperclip/attachment.rb:269:in initialize' C:/Users/Mariusz/Sites /wiw_development/vendor/plugins/paperclip/lib/paperclip.rb:326:in attachment_for'load'
C:/Ruby/lib/ruby/1.8/yaml.rb:133:in

find_credentials'
C:/Users/Mariusz/Sites/wiw_development/vendor/plugins/paperclip/lib/paperclip/storage.rb:176:in

extended'
C:/Users/Mariusz/Sites/wiw_development/vendor/plugins/paperclip/lib/paperclip/storage.rb:137:in

extended'
C:/Users/Mariusz/Sites/wiw_development/vendor/plugins/paperclip/lib/paperclip/attachment.rb:269:in

initialize_storage'
C:/Users/Mariusz/Sites/wiw_development/vendor/plugins/paperclip/lib/paperclip/attachment.rb:51:in

new'
C:/Users/Mariusz/Sites/wiw_development/vendor/plugins/paperclip/lib/paperclip.rb:326:in

C:/Users/Mariusz/Sites/wiw_development/vendor/plugins/paperclip/lib/paperclip.rb:229: in_run_erb_app47views47images47index46html46erb' C:/Users/Mariusz/Sites/wiw_development/app/views/images/index.html.erb :12:in _run_erb_app47views47images47index46html46erb' C:/Users/Mariusz/Sites/wiw_development/app/controllers/images_controller.rb:7:in `index' img'
C:/Users/Mariusz/Sites/wiw_development/app/views/images/index.html.erb:19:in

each'
C:/Users/Mariusz/Sites/wiw_development/app/views/images/index.html.erb:12:in

私のファイルは次のようになります。

1) アプリ/モデル/image.rb

class Image < ActiveRecord::Base
has_and_belongs_to_many :pairs
validates_presence_of :img_file_name
has_attached_file :img, :styles => {:thumb=> "100x100#", :page => "400x320>"}, :storage => :s3, :s3_credentials => "#{RAILS_ROOT}/config/s3.yml"
終了

2) config/s3.yml

bucket: (MY BUCKET HERE)
access_key_id: (MY ACCESS KEY ID HERE)
secret_access_key: (MY SECRET ACCESS KEY HERE)

どうすれば機能しますか?

4

2 に答える 2

9

C:/Ruby/lib/ruby/1.8/yaml.rb:133:inload'-これはYAMLエラーです。おそらく、フォーマットが正しくないYMLファイルがあります。スクリプト/コンソールで次のコードを試してください。

require 'yaml'
my_hash = YAML::load File.read("#{RAILS_ROOT}/config/s3.yml")

以下は私の作業構成の例です。

  has_attached_file :data,
  :styles => {
    :small => "100x100#",
    :medium => "400x400#",
    :large => "640x480#"
  },
  :storage => :s3,
  :s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
  :path => ":attachment/:id/:style.:extension",
  :bucket => "xxx"

そしてymlファイル:

development:
  access_key_id: ***
  secret_access_key: ***
于 2010-01-06T16:39:10.093 に答える
0

君は正しかった。私の「e」テキスト エディタは、yaml ファイルをいくつかの追加文字を含む奇妙な形式で保存していました。現在、すべてが機能しています。ありがとう!

于 2010-01-08T15:32:15.097 に答える