2016-08-30 8 views
0

私がテストしている基本的なアプリケーションがあります。私は2つのモデルを持っています:Railsは外部キーを持つレコードを追加します

Post 
    id: int 
    name:string 
    content: string 
    author_id: int <-- this is just a user_id, but I want to specify that it's an author 
    belongs_to: :user 

User 
    id: int 
    name: string 
    has_many: :posts 

コントローラとビューで基本的な足場を生成しました。問題は、私は新しい投稿を作成しようと、私はコントローラにデータを送信すると、私はエラーを取得し、次のとおりです。

user must exist

私はポストを作成するときに、私はちょうどAUTHOR_IDフィールドに、基本的なint型のIDを渡します(私はids1-4を持っていることを知っている)、命名に問題はありますか?投稿に「author_id」の代わりに「user_id」という名前のFKが必要ですか?

どうすればいいですかフィールドごとに複数のユーザーIDが必要な場合は、

たとえば、投稿をレビューできる場合、各投稿には多くのレビューアがあり、各レビュー担当者は多くの投稿を閲覧できます。何が下に行くのだろうか? would notもuser_idですか?

答えて

1

あなたPostモデルでは、あなたがこのようなカスタム外部キーを指定する必要があります。

class Post < ActiveRecord::Base 
    belongs_to :user, foreign_key: :author_id 
end 

あなたは多くのレビューを持っているつのポストが必要な場合、あなたはおそらくそのために結合テーブルが必要になります - あなたはより多くを読むことができます

+0

今、私はエラーが発生しています。投稿は存在する必要があります。私はちょうどカスタム外部キーが必要です。 –

+0

nvmの後は心から感謝しています。 –

関連する問題