我在尝试编辑模型时遇到问题。我总是得到错误
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
答案 0 :(得分:2)
您必须在“编辑”操作中初始化@book变量。从您的观点可以看出:
<%= form_for(@book) do |f| %>
@book变量用于渲染表单。因此:
@book = Book.find(params[:id])
编辑方法需要。