Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails更新属性总是重定向_Ruby On Rails_Ruby_Ruby On Rails 3.2 - Fatal编程技术网

Ruby on rails Rails更新属性总是重定向

Ruby on rails Rails更新属性总是重定向,ruby-on-rails,ruby,ruby-on-rails-3.2,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 在我启动编辑页面时,在进行任何更改或单击提交按钮之前,重定

我正在为数据库中的记录编写编辑页,如果更新成功,我希望重定向,并再次呈现编辑页以防出现任何错误。代码如下:

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

    if @list.update_attributes(params[:list])
        redirect_to(root_path)
    else
        render('edit')
    end
end
在我启动编辑页面时,在进行任何更改或单击提交按钮之前,重定向将立即触发


非常感谢您的任何想法。

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

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

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

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

这似乎是可行的,但我如何将ID发送到更新方法?如果在视图中声明表单时使用(@List)的
表单,则不必发送ID。我正在使用@List的表单,:url=>{:controller=>'lists',:action=>'update'}错误:找不到没有ID的列表只需使用@List的
form_
Rails会找到正确的路径:)不,这会产生一大堆错误:P List不是一个资源,那么它如何找到路径呢?这似乎是可行的,但我如何将ID发送到update方法呢?如果使用
form_(@List)
在视图中声明表单时。我正在使用表单u来声明@List,:url=>{:controller=>'lists',:action=>'update'}错误:没有ID就找不到列表只需使用
表单u来声明@List
Rails将找到正确的路径:)不,这会造成整个世界的错误:P List不是资源,那么它将如何找到出路呢?