我想在rails 3.1上的ruby中进行条件更新 根据您来自的位置,在更新后,将进行重定向。 将我的1个大表单拆分为单独的小表单,所以现在想法是重定向到正确的子表单。
例如,表格可以从以下地址提交:
我唯一能想到的就是检查操作名称并使用它来重定向。但它非常丑陋和长代码,也没有完全工作。这样做的轨道是什么?
这是我的控制器更新操作:
def update
@profile = Profile.find(params[:id])
respond_to do |format|
if @profile.update_attributes(params[:profile])
format.html { redirect_to @profile, notice: 'Profile was successfully updated.' }
else
format.html {
render :action => "edit_basics"
#
}
end
end
end
答案 0 :(得分:4)
为什么不将重定向位置作为表单中的hidden_field传递,然后根据需要设置每个表单:
redirect_to params[:redirect_location]
如果您不想在HTML中公开原始字符串,也可以使用步骤或其他内容执行此操作:
redirect_to location_for_step(params[:step])