Rails - проблемы с использованием Edit - PullRequest
1 голос
/ 17 мая 2011

У меня проблемы с попыткой редактировать модель.Я всегда получаю сообщение об ошибке

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

1 Ответ

2 голосов
/ 17 мая 2011

Вы должны инициализировать переменную @book в действии 'edit'.Как вы можете видеть из своего представления:

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

переменная @book используется для отображения формы.Таким образом:

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

требуется в методе редактирования.

...