2011-05-17 32 views
1

我在编辑模型时遇到问题。我总是最终得到的错误Rails - 使用编辑的问题

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 

回答

2

您必须初始化@book变量'编辑'行动。正如你所看到的:

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

@book变量用于渲染表单。因此:

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

是编辑方法中需要的。