Ошибка ID при обновлении в контроллере - PullRequest
0 голосов
/ 19 сентября 2011

Вот кусок кода:

  def update
    @category = Category.find(params[:id])

    if @category.update_attributes(params[:category], :as => :roles_update)  
      @category = Category.find[params[:id]]
      render 'show', :notice => 'Category was successfully updated'
    else
      @categories = Category.all
      render 'index'
    end 
  end

И ошибки при выполнении вышеперечисленного:

  Couldn't find Category without an ID

Однако в дампе параметра есть идентификатор категории (= 1):

{"utf8"=>"✓",
 "_method"=>"put",
 "authenticity_token"=>"aFk+bcHKA3zwck1PgrNOwVvZfeXtsT57ywHGiB4odDY=",
 "category"=>{"description"=>"audio/video",
 "active"=>"1"},
 "commit"=>"Update Category",
 "id"=>"1"}

Код не будет ошибкой, если закомментировать # @ category = Category.find [params [: id]] в цикле IF. Но rspect выдает ошибку: ActiveRecord :: RecordNotFound:

Есть предложения по проблеме? Спасибо

1 Ответ

1 голос
/ 19 сентября 2011
 @category = Category.find[params[:id]] 

должно быть:

 @category = Category.find(params[:id])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...