2016-10-02 4 views
0

基本的にここで提供される例(http://edgeguides.rubyonrails.org/getting_started.html)を少し変更して複製しようとしています。各postには複数のcommentが含まれている可能性がありますが、コメントを送信する際にはいくつか問題があります。私は考えることができ Error page when trying to create a post私はtitleというメソッドがないうちに、未定義のメソッド 'title'を取得し続けます。

最も近いものは、私はpostオブジェクトが存在することtitleフィールドを必要とするための検証を持っています。 私は、同様の問題の解決策は、コントローラ内のメソッドに対して適切なプライベート/パブリックスコープが設定されていることを確認することですが、そのようには見えません。

は、ここでコメントコントローラ私はちょうど私の問題を実現えーえ

class CommentsController < ApplicationController 
def create 
    @post = Post.find(params[:post_id]) 
    @comment = @post.comments.create(comment_params) 
    redirect_to post_path(@post) 
end 

private 
    def comment_params 
     params.require(:comment).permit(:commenter, :body) 
    end 
end 
+0

あなたのモデルも投稿してください。彼らはリストされた関係を持っているはずです。さもなければあなたの@ post.commentsステートメントはエラーになります。また、あなたのフォームを表示して、post_idが実際に送信されているかどうかを確認してください。 – bkunzi01

答えて

0

のための私のコードです。 私はvalidatesをApplicationRecordに入れて、comment.rbにApplicationRecordを継承させました。検証をpost.rbにリファクタリングすることで問題は解決します。

関連する問題