Rails update_attributes总是重定向

时间:2013-05-09 18:37:44

标签: ruby-on-rails ruby ruby-on-rails-3.2

我正在为我的数据库中的记录编写一个编辑页面,我想在更新成功时重定向并再次渲染编辑页面以查找任何错误。这是代码:

def edit
    @list = List.find(params[:id])

    if @list.update_attributes(params[:list])
        redirect_to(root_path)
    else
        render('edit')
    end
end

在我进行任何更改或点击提交按钮之前,一旦启动编辑页面,重定向就会触发。

任何想法都非常感激。

1 个答案:

答案 0 :(得分:4)

您的编辑操作应如下所示:

def edit
  @list = List.find(params[:id])
end

它呈现编辑视图。表单应指向(可能是)更新操作,应该如下所示:

def update
  @list = List.find(params[:id])

  if @list.update_attributes(params[:list])
      redirect_to(root_path)
  else
      render :edit
  end
end