【发布时间】:2012-01-31 07:29:28
【问题描述】:
我正在尝试在我的 rails 3.0 应用程序中构建一个稍微不寻常的编辑组件,其中包含页面顶部的记录选择器,以及页面后半部分的编辑表单,结果更多比我想象的要难。
顶部的记录选择器为您提供列表框中的记录列表和一个提交按钮,该按钮调用控制器中的编辑方法,该方法在记录 ID 上查找并返回索引页面。
before_filter :load
def index
end
def edit
render :action => "index"
end
def update
if @project.update_attributes(params[:project])
flash[:notice] = "Successfully updated project."
end
render :action => 'index'
end
def load
@projects = Project.order("name asc")
unless params[:id].nil?
@project = Project.find(params[:id])
else
@project = Project.new
end
end
从上面的代码可以看出,我不想在任何时候离开索引页面。
到目前为止一切正常,我可以选择一个项目,编辑信息,然后点击保存。
不幸的是,当调用 update 并呈现索引页面时,它没有将 params[:id] 返回给 index 方法,因此表单变为空白,即它不记得您正在编辑的项目。
我希望它保留此项目,因此您可以进行进一步更改,或在页面顶部选择其他项目。
我不确定如何处理 htis,或者我是否完全错误地处理了这个组件。
任何反馈将不胜感激:)
谢谢
【问题讨论】:
标签: ruby-on-rails