7

私は Ruby on Rails とスタック オーバーフローの初心者です。この質問をするのに間違いがあるか、または...

ブロガー プロジェクトの編集/更新を書こうとしています。これは私のコントローラーです:

  def edit
    @post = Post.find params[:id] 
  end   

  def update
    @post.update(params[:post].permit(:title, :summary, :content))
    redirect_to posts_path
  end 

これは私の見解です:

<h1>Edit Page</h1>
        <%= form_for @post do |f| %>
        Title: <%= f.text_field :title %>
        Summary: <%= f.text_area :summary %>
        Content: <%= f.text_area :content %>
        <%= f.submit "Update" %>
<% end %>

投稿を更新したいときに、このエラーが発生し続けます:

PostsController#update の NoMethodError

nil:NilClass の未定義メソッド「update」

どんな助けでも大歓迎です!:)

4

2 に答える 2

11

更新を実行するには、@post適切なオブジェクトを指すようにインスタンス変数を設定する必要があります。Post

@post = Post.find params[:id]
于 2013-07-24T11:05:14.020 に答える