Rails 错误 - 无法加载此类文件 -- aws-sdk (您可能需要安装 aws-sdk gem)

2023-12-21

我有一个 RoR 应用程序,可以通过回形针和亚马逊 s3 上传图像。一切都工作正常,直到我决定将路由从 myapp.com/id 更改为 myapp.com/model-name。现在我收到以下错误:LoadError cannot load such file -- aws-sdk (You may need to install the aws-sdk gem)。这些更改涉及更改模型、控制器和数据库。

Model:

class Major < ActiveRecord::Base
  attr_accessible :glance, :name, :image

  # Validations
  validates :glance, presence: true
  validates :name, presence: true
  validates_attachment :image, content_type: {content_type: ['image/jpeg', 'image/jpg', 'image/png', 'image/gif']}, size: { less_than: 5.megabytes }
  validates :slug, uniqueness: true, presence: true

  before_validation :generate_slug

  # Associations
  has_attached_file :image, styles: { 
   profile: "350x350>", 
   similar: '166x134>', 
   thumb: "100x100>" 
  },
    :storage => :s3,
    :bucket => 'major finder'
    :s3_credentials => {
      :access_key_id => 'my_key_id',
      :secret_access_key => 'my_secret_access_key'
    },
    :path => "/majors/:attachment/:style/:filename"    

  # make the url path memorable (instead of using the id)
  def to_param
    slug
  end

  def generate_slug
    self.slug ||= name.parameterize
  end 
end

控制器:

class MajorsController < ApplicationController
  before_filter :authenticate_user!, only: [:new, :edit]
  before_filter :find_page, only: [:show, :edit, :update, :destroy]

  def index
    @majors_recent = Major.order("created_at DESC")
    @majors = Major.all

    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @majors }
    end
  end

  def show
    respond_to do |format|
      format.html # show.html.erb
      format.json { render json: @major }
    end
  end

  def new
    @major = Major.new

    respond_to do |format|
      format.html # new.html.erb
      format.json { render json: @major }
    end
  end

  def edit
  end

  def create
    @major = Major.new(params[:major])

    respond_to do |format|
      if @major.save
        format.html { redirect_to @major, notice: 'Major was successfully created.' }
        format.json { render json: @major, status: :created, location: @major }
      else
        format.html { render action: "new" }
        format.json { render json: @major.errors, status: :unprocessable_entity }
      end
    end
  end

  def update
    respond_to do |format|
      if @major.update_attributes(params[:major])
        format.html { redirect_to @major, notice: 'Major was successfully updated.' }
        format.json { head :no_content }
      else
        format.html { render action: "edit" }
        format.json { render json: @major.errors, status: :unprocessable_entity }
      end
    end
  end

  def destroy
    @major.destroy

    respond_to do |format|
      format.html { redirect_to majors_url }
      format.json { head :no_content }
    end
  end

private 
  def find_page
    @major = Major.find_by_slug!(params[:id])
  end
end

我的数据库架构如下所示:

  create_table "majors", :force => true do |t|
    t.text     "glance",             :limit => 255
    t.datetime "created_at",                        :null => false
    t.datetime "updated_at",                        :null => false
    t.string   "name"
    t.string   "image_file_name"
    t.string   "image_content_type"
    t.integer  "image_file_size"
    t.datetime "image_updated_at"
  end

这是我的 Gemfile:

gem 'rails', '3.2.11'
gem 'jquery-rails'
gem 'devise'
gem 'simple_form'
gem 'aws-sdk'
gem "paperclip", "~> 3.0"
gem 'sunspot_rails'
gem 'activeadmin'


group :production do
  gem 'pg'
end

group :development, :test do
  gem 'sqlite3'
  gem 'sunspot_solr'
end

group :assets do
  gem 'sass-rails', '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier', '>= 1.0.3'
  gem 'bootstrap-sass', '~> 2.2.2.0'
end

I ran $ rails g migration add_slug_to_majors slug:index进而$ rake db:migrate现在,即使我已经删除了所有更改,我仍然收到此错误。我已经查看了所有内容,但找不到解决方案。有人有什么想法吗?


这实际上是一个issue您可能会遇到管理版本的经历Gemfile.

就我而言,它是一个较新版本回形针导致issue。降级到旧版本为我解决了这个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 错误 - 无法加载此类文件 -- aws-sdk (您可能需要安装 aws-sdk gem) 的相关文章

随机推荐

  • 如何在mui主题中插入字体

    在index css 文件中我有一个字体 我想完全避免这个文件 并将这个配置放在作为 MUI 库实现的一部分创建的 theme js 文件中 怎么做 索引 css font face font family ATTAleckSans W L
  • Java Native Access 不支持 C++,对吗?

    我在网上找到了许多关于用于 C 库的 JNA 的参考 包括 stackoverflow 上的一些 但我在 JNA 文档中找不到任何内容表明这是可能的 特别是 似乎没有任何方法可以包装 C 类 我需要本机访问才能使用 RTAudio 但 RT
  • ASMX 返回纯字符串

    我有一个 ASP NET Web 服务 asmx 我的服务定义如下 System Web Services WebService Namespace http tempuri org System Web Services WebServi
  • 用 Java 将数据发送到打印机

    然而 下面的代码将数据发送到打印机 当它到达打印机队列时 它会返回一个Unable to convert PostScript file 我认为可以通过指定口味来克服这个问题 但事实并非如此 import javax print Doc i
  • 如何找到两个凸包的交集?

    我有两个凸包 让我们假设它们被给出为scipy spatial ConvexHulls import numpy as np points1 np random rand 10 3 points2 np random rand 10 3 h
  • 2台服务器之间的Websocket?

    我想知道是否可以在 2 个网络服务器之间而不是在浏览器和后端之间使用 websockets 我运行 2 个 Node js 服务器并希望在它们之间交换数据 尝试看看node2node socket io https github com d
  • 使用 winmain 和简单代码编译错误,“Previous declaration of WinMain”

    include
  • appengine 在中国可以用吗?

    我们的一些客户想知道 查看一些关于信息不一致的帖子 http code google com p googleappengine issues detail id 1144 http code google com p googleappe
  • iOS - 如何实现像默认相册一样裁剪图像?

    iPhone相册默认裁剪功能 有谁知道如何实现这一点 我想先剪掉它Use按钮被点击 尝试以下其中一项 您可能会找到一个完全可以做到这一点的开源软件
  • JBoss 7 未经过 Java EE6 认证

    我真的很想知道这到底意味着什么 我可以在开发和生产中使用 JBoss 7 的所有 EE 6 功能 我需要 JMS EJB 3 1 JSF 2 1 CDI 还是必须等待 JBoss 7 的更高版本 如果没有 那么由于 JBoss 6 x 仅通
  • 如何在 PHP 中注释掉正则表达式的 */ 部分

    我有 preg replace 函数 我正在调用它并放在多行上以提高可读性 但是 正则表达式中的字符弄乱了注释 如何注释掉所有这些行而不将它们全部移动到一行上 return preg replace Lorem Ipsum More Lor
  • 如何在批处理文件中获取一年中的某一天

    如何从 Windows 批处理文件中的当前日期获取一年中的第几天 我努力了 SET A dayofyear Date 0 2 30 5 Date 3 2 但它不适用于闰年 并且总是会偏差几天 我不想使用任何第三方可执行文件 如果您想要儒略日
  • Delphi 2009:Vista下如何在Windows服务和桌面应用程序之间进行通信?

    Vista Windows2008 Windows7下桌面应用程序如何与Windows服务通信 应用程序需要向服务发送小字符串并接收返回的字符串响应 两者都是用Delphi 2009编写的 请同时提供示例代码 要走的路是命名管道 http
  • 如何使用 CSS 为背景图像着色?

    我有一个通过 CSS 设置的背景图像 html background image url img cello jpg background attachment fixed background size 100 我计划为网站的不同页面使用
  • 如何通过允许预发布来指定 Python 要求?

    我对声明 Python 包需求的正确方法有些困惑 未正式发布的新版本确实有预发布名称 例如0 2 3 dev20160513165655 当我们添加时 pip 非常聪明地安装预发行版 pre选项 当我们构建开发分支时 我们确实使用它 主分支
  • 关于机器学习的 train_test_split 的想法

    我只是注意到很多人甚至在处理丢失的数据之前就倾向于使用train test split 并且似乎他们一开始就分割了数据 还有很多人 他们倾向于在完成所有数据清理 特征工程 特征选择之后 在模型构建步骤之前分割数据 人们一开始倾向于将数据进行
  • 反应 this.props 未定义或空对象

    构建一个小型反应应用程序 将地理位置 由浏览器确定为子组件作为道具 传递 第一个组件 App jsx import React Component from react import DateTime from components dat
  • 从 Struts1 迁移到 Struts2 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我的应用程序位于 Struts1 中 并且我在所有操作中都使用了 Dispatch 操作 现在请告诉我如何转换到 struts 2 以
  • Visual Studio 2012 Express 在格式文档命令上挂起并显示消息“等待后台操作完成”[重复]

    这个问题在这里已经有答案了 这件事是几天前才开始的 每次我使用 Ctrl K D 格式化文档时 VS 都会挂起并显示该消息 似乎由于某种原因 运行格式命令花费了相当长的时间 20 秒左右 有时在较大的文档上需要更长的时间 没有安装任何新的加
  • Rails 错误 - 无法加载此类文件 -- aws-sdk (您可能需要安装 aws-sdk gem)

    我有一个 RoR 应用程序 可以通过回形针和亚马逊 s3 上传图像 一切都工作正常 直到我决定将路由从 myapp com id 更改为 myapp com model name 现在我收到以下错误 LoadError cannot loa