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])

在编辑方法中需要。

于 2011-05-17T18:59:55.930 回答