1

モデルを編集しようとして問題が発生しました。私はいつもエラーとして取得することになります

undefined method `model_name' for NilClass:Class

私はビューで使用しています:

<%= form_for(@book) do |f| %>

およびコントローラー上:

 def edit
@title = "Edit Book"
 end

def update
@book = Book.find(params[:id])
if @book.update_attributes(params[:book])
  flash[:success] = "Book Updated"
  redirect_to @book
else
  @title = "Edit Book"
  render 'edit_book_path(@book)'
end
end
4

1 に答える 1

2

「編集」アクションで @book 変数を初期化する必要があります。あなたの見解からわかるように:

<%= form_for(@book) do |f| %>

@book 変数は、フォームのレンダリングに使用されます。したがって:

@book = Book.find(params[:id])

edit メソッドで必要です。

于 2011-05-17T18:59:55.930 に答える