2017-11-29 29 views
0

を実行することができません私はgemfile追加:(私はRailscast#364以下のよ)モデルにupvote/downvote functionityを追加するために、私のRailsアプリにActiveRecordの移行

gem 'activerecord-reputation-system', require: 'reputation_system' 

を。私は問題なく宝石をインストールしました。

私が入ったのとすくいデシベル「Gのreputation_systemレール」:移行を、しかし、熊手は中止されました:

Gem::LoadError: You have already activated rake 12.3.0, but your 
Gemfile requires rake 12.0.0. Prepending `bundle exec` to your command 
may solve this. 

私は「バンドルのexec」でそれを試してみましたが、熊手が再び中止されました:

StandardError: An error has occurred, this and all later migrations 
canceled: 

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

これが問題であるかどうか確認するために私の宝石を更新しましたが、これは違いがありませんでした。

レーキ12.3.0を削除して12.0.0をインストールする方法を見つける以外に何かできることは考えられませんが、これは非合理に思われます。

すべてのヘルプははるかに高く評価されるだろう、Railsの5では

答えて

0

:-)感謝の移行は、前述したように、あなたの移行ファイルの先頭に(移行が指定されている)、使用しているRailsのバージョンを指定する必要がありますエラー状態。

は、これは次のようになります。カッコ内のビットは、使用しているRailsのバージョンがある

class CreateYourModels < ActiveRecord::Migration[5.1] 
...your migration code 
end 

補足説明:https://blog.bigbinary.com/2016/03/01/migrations-are-versioned-in-rails-5.html

+0

この記事では、Railsのバージョンが生成され、移行に指定されていることを私に語ったが、それは何が違うの端末コマンドを示していません。それとも私は行方不明のものがありますか? – Robert

+0

これは良い質問ですが、私はこれまでに実行しています。ターミナルコマンドに違いはありませんが、なぜそうかもしれないのかを掘り下げてあなたに伝えます。 gemファイルbtwにはどのバージョンのレールがありますか?その間に、更新されたコードを移行ファイルで試してみて、動作しているかどうか教えてください。 – inveterateliterate

+0

ああ、あなたが何を意味しているかはわかっていると思います。移行ファイルを更新して移行してください。私はそれを試してみよう... – Robert

関連する問題