尝试将Paperclip gem添加到rails项目中

时间:2015-02-05 11:19:33

标签: ruby-on-rails gem paperclip

我跟随video tutorial在我的rails项目上设置了Paperclip gem。

所以我到目前为止采取的步骤......

  • 在终端上安装了ImageMagick - brew install imagemagick
  • 安装了Paperclip gem - gem" paperclip","〜> 4.2"
  • 在我的house.rb模型文件中添加了以下内容:

    has_attached_file:image,styles:{large:" 600x600",medium:" 300x300",thumb:" 150x150#" } validates_attachment_content_type:image,content_type:/ \ Aimage /.* \ Z /

所以我的所有house.rb模型文件现在看起来像这样:

class House < ActiveRecord::Base
validates :title, presence: true
validates :price, presence: true
validates :description, presence: true
validates :image, presence: true

has_attached_file :image, styles: { large: "600x600", medium: "300x300", thumb: "150x150#" }
validates_attachment_content_type :image, content_type: /\Aimage\/.*\Z/
end

此时我需要使用迁移生成器添加迁移,因此我输入rails g migration house image并且它不会在文件夹中创建带时间戳的数据库迁移文件,并且终端正在返回:

Usage:
rails new APP_PATH [options]

和一大堆选项。在本教程中,它应该返回如下内容:

create db/migrate/20150205123408_add_attachment_image_to_posts.rb

我不确定我在哪里出错了,而且我是ruby-on-rails的新手,所以任何帮助都会非常感激!

1 个答案:

答案 0 :(得分:0)

如果问题仍然存在,请手动创建迁移。

 create_table "media", force: :cascade do |t|
    t.string   "image_video_file_name"
    t.string   "image_video_content_type"
    t.integer  "image_video_file_size"
    t.datetime "image_video_updated_at"
    t.string   "text", default: ""
    t.datetime "created_at"
    t.datetime "updated_at"
    t.integer  "user_id", null: false
  end

  add_index "media", ["user_id"], name: "index_media_on_user_id", using: :btree