2017-12-10 39 views
0

にエラーメッセージが存在し、新しいポストを作成する必要があります。ユーザーは、私がしようと、これまでとき</p> <blockquote> <p>ユーザーが</p> </blockquote> <p>を存在している必要がありますエラーメッセージを取得するレール

初めてfriendly_id gemをインストールした後、私はdevise gemをインストールし、deviseユーザーモデルを作成しました。その後、私はデバイスビューを生成しました。そこから私はタイトル記述体とスラッグを持つポストの足場を作成しました

ポストモデルではbelongs_to :user、ユーザモデルではhas_many :postsとしました。次に、これを生成した移行を生成しました。

class AddUserReferenceToPosts < ActiveRecord::Migration[5.1] 
    def change 
    add_reference :posts, :user, foreign_key: true 
    add_foreign_key :posts, :users 
    end 
end 

私はポストモデルに行くに行くと、エラーメッセージを乗り越えるために

belongs_to :user, optional: true 

にそれを変えることができることを知っているが、私はターミナルに行き、

u = User.create(email: "[email protected]", password: "password") 
でユーザーを作成しました

は正常にサインインしましたが、エラーメッセージが表示されます。私が間違っていることについて助けが必要です。

+0

あなたの投稿コントローラとあなたroutes.rbファイル – s3tjan

+0

あなたの投稿のそれぞれにユーザーが必要なものがないと思います。だから投稿のコントローラコードはあなたの答えを投稿してください。私はあなたが投稿オブジェクトを作成するときにユーザーを定義していないと思う。 –

答えて

0

あなたは親なしで子供を作ることができないように、ユーザーと投稿の間で協議が必要です!あなたは最初にユーザーを作成してからコンソールを使って投稿を作成する必要がありますirb:User.create!(name: "name"、 "other fields")このような投稿を作成しますirb:Post.create!(text: "いくつかのコンテンツ "、user_id:1)これは、ユーザーノートの投稿を作成しますあなたが作成するユーザーが1のIDを持つと仮定しても私の携帯電話からこれを残念と投稿する

関連する問題

 関連する問題