2

Railsアプリケーションには2つのモデルがあります。1つはDeviseで生成したユーザーで、もう1つはリンクです。当初、私のアプリケーションにはリンクモデルしかありませんでした。そのため、モデルリンクには「id」「link」という2つの列がありました。要件が変更されたため、ユーザーモデルを実装する必要があります。私のアプリケーションのユーザーには、1つまたは複数のリンクがあります。そのため、 user.rb」ファイルと「link.rb」has_many :linksファイルにこの行を追加しました。belongs_to :users

そして、私は次のような移行を生成しました:

rails generate migration add_user_id_to_link user:references

つまり、既存のテーブル「リンク」を変更し、参照列「user_id」をテーブルに追加するための移行ファイルを生成しています。

ただし、実行時にエラーが発生しますrake db:migrate。次に、コマンドを実行しました。

rails genearate migration add_user_id_to_links user_id:integer

しかし、コマンドが見つからないというエラーが発生します。さて、問題はどうすればこれを達成できるかということです。

前もって感謝します...

4

2 に答える 2

2

参照ヘルパーはに対してのみ機能すると確信していますcreate_table。これが、最初のコマンドが機能しない理由です。

ただし、2番目のコマンドは機能するはずです。エラーは、のタイプミスを示している可能性がありますgenerate

それがお役に立てば幸いです。

于 2013-01-18T18:15:33.130 に答える
0

rails g migration add_user_id_to_links user_id:integer:index投稿したリンクに各ユーザーを割り当てたい場合は、これを行うことができます。

于 2016-02-16T13:56:05.340 に答える