質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

1回答

1853閲覧

paperclipを導入したい

jinsino1987

総合スコア7

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2017/08/25 02:48

railsでpaperclipを導入したいのですが、
ターミナルで
$ rails g paperclip user avatar
と打ったあと
$ bundle exec rake db:migrate
と打つと

rake aborted!
StandardError: An error has occurred, all later migrations canceled:

Directly inheriting from ActiveRecord::Migration is not supported. Please specify the Rails release the migration was written for:

class AddAttachmentAvatarToUsers < ActiveRecord::Migration[4.2]
/Users/hyjs0214/projects/sports-comics/db/migrate/20170825020845_add_attachment_avatar_to_users.rb:1:in <top (required)>' /Users/hyjs0214/.rbenv/versions/2.3.1/bin/ruby_executable_hooks:15:in eval'
/Users/hyjs0214/.rbenv/versions/2.3.1/bin/ruby_executable_hooks:15:in `<main>'
StandardError: Directly inheriting from ActiveRecord::Migration is not supported. Please specify the Rails release the migration was written for:

class AddAttachmentAvatarToUsers < ActiveRecord::Migration[4.2]
/Users/hyjs0214/projects/sports-comics/db/migrate/20170825020845_add_attachment_avatar_to_users.rb:1:in <top (required)>' /Users/hyjs0214/.rbenv/versions/2.3.1/bin/ruby_executable_hooks:15:in eval'
/Users/hyjs0214/.rbenv/versions/2.3.1/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
とエラーが出てしましいました。

これは何が原因でどう処理すれば良いのでしょうか?
わかる方お力を貸して頂けると助かります。宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Rails 5以降では、Rails 4.2とくらべてマイグレーションの書式が変わっています。5.1ではそれが必須となったために、エラーが出ているようです。

Paperclipの方ではIssueが上がっていますので、現状では生成したマイグレーションの冒頭にある< ActiveRecord::Migration< ActiveRecord::Migration[5.1]と書き換えてしのいで下さい。

投稿2017/08/25 02:53

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jinsino1987

2017/08/25 03:17

回答ありがとうございます。 しかし、マイグレーションを class AddAttachmentAvatarToUsers < ActiveRecord::Migration[5.1] def self.up change_table :users do |t| t.attachment :avatar end end def self.down remove_attachment :users, :avatar end end と編集し、 ターミナルで$ bundle exec rake db:migrateと打ったところ、 rake aborted! ActiveRecord::DuplicateMigrationNameError: Multiple migrations have the name AddAttachmentAvatarToUsers. /Users/hyjs0214/.rbenv/versions/2.3.1/bin/ruby_executable_hooks:15:in `eval' /Users/hyjs0214/.rbenv/versions/2.3.1/bin/ruby_executable_hooks:15:in `<main>' Tasks: TOP => db:migrate (See full trace by running task with --trace) と出てしまいました。 どうすればいいでしょうか?
maisumakun

2017/08/25 04:30

エラーに出ているように、同じ名前のマイグレーションは複数作れません。ファイル名とクラス名をセットで変更しましょう。
jinsino1987

2017/08/25 04:46

解決できました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問