【发布时间】:2015-07-25 05:38:07
【问题描述】:
我有一个使用 Bootstrap 选项卡的 Rails 3 表单。 每个选项卡呈现不同的表单(但呈现给同一个控制器)。
当我在 tab2 上提交表单时,页面顶部的 URL 是:
http://localhost:3000/costprojects/1#tab2
在 costprojects 控制器中,我想在用户提交表单时转到下一个选项卡。
我认为这会起作用:
def update
@costproject = Costproject.find(params[:id])
nextpath = costproject_path(@costproject) + '#tab2'
nextpath = costproject_path(@costproject) + '#tab3' if request.referer.include?("#tab2")
nextpath = costproject_path(@costproject) + '#tab4' if request.referer.include?("#tab3")
respond_to do |format|
if @costproject.update_attributes(params[:costproject])
format.html { redirect_to nextpath, notice: 'Capital Project was successfully updated.' }
但是,request.referer 不包括“tab2”。
怎么会?
感谢您的帮助!
【问题讨论】:
-
依赖referer不是一个好主意。您不能在表单中提供一个隐藏字段并使用它吗?
-
我会试试的 - 谢谢马库斯!
标签: ruby-on-rails