小编Bac*_*het的帖子

错误:: SignatureDoesNotMatch,AWS-SDK gem for paper support for paperclip 3.0.1 and rails 3.2

我正在将我的应用程序从Rails 3.0.9迁移到3.2.3和ruby 1.9.3.我正在使用带有aws-s3 gem的paperclip(2.3.11)来存储我的照片.

现在我想使用最后一个版本的paperclip(3.0.1)然后我必须使用aws-sdk gem.

我将我的aws.yml文件设置为:

    development: &development
      bucket: bucket_name_for_dev
      access_key_id: *****
      secret_access_key: *******
    staging:
      <<: *development
      bucket: bucket_name_for_staging

    production:
      <<: *development
      bucket: bucket_name_for_prod
Run Code Online (Sandbox Code Playgroud)

我的模型包含:

    has_attached_file :picture, :styles => { :medium => "300x300>", :thumb => "50x50>" }, :default_url => 'picture_missing.png',
         :storage => :s3,
         :bucket => "bucket_name_for_dev",
         :s3_credentials => Rails.root.join("config/aws.yml"),
         :path => "/presentation_pictures/:id/:style/:filename",
         :url  => ":s3_eu_url"

    attr_accessible :picture
    attr_accessor :picture_url
Run Code Online (Sandbox Code Playgroud)

尝试上传文件时,我收到错误消息:

AWS::S3::Errors::SignatureDoesNotMatch The request signature we calculated does not match the signature you provided. Check your key and signing method. …

amazon-s3 paperclip ruby-1.9.3 ruby-on-rails-3.2

12
推荐指数
2
解决办法
8379
查看次数

为什么我的helper递归方法不返回每个值?

我想显示一个用宝石祖先管理的类别树.

我想使用一个帮助器,它将递归地遍历树并逐个返回类别,暂时没有html标签或内容.

module CategoriesHelper
  def display_tree(category)
    if category.has_children? 
      category.children.each do |sub_category|
        display_tree(sub_category)
        puts(sub_category.name) # to check if it goes here
      end
    end
    category.name
  end
end
Run Code Online (Sandbox Code Playgroud)

category参数是根类别之一.

应该归还什么?

  • 在网页中:它仅显示根级别类别 Sport Beauty Automobile
  • 在控制台中: Men Indoor Women Children Water sport Garage

如果得到它们,则意味着递归有效,但事实并非如此.为什么它只返回第一次迭代?

另外,我想按以下顺序获取它们:

root/child/child-of-child
Run Code Online (Sandbox Code Playgroud)

但如果我想回来category.name,它应该在最后一个位置.

你能告诉我你的意见吗?

PS:我刚刚发现(在添加标签期间)我在搜索中一直使用"递归"这个词,但它不存在,即使很多人在stackOveflow上使用它; o) - >"递归",但是我还是被困住了

**编辑**

现在我使用这段代码:

            module CategoriesHelper

              def display_tree(category)
                tree = "<div class =\"nested_category\">#{category.name}" 
                if category.has_children? 
                  category.children.each do |sub_category|
                    tree += "#{display_tree(sub_category)}"
                  end
                end
                tree += "</div>"
              end
            end
Run Code Online (Sandbox Code Playgroud)

这给了我:

        <div …
Run Code Online (Sandbox Code Playgroud)

ruby methods recursion ruby-on-rails helper

6
推荐指数
1
解决办法
2036
查看次数