【问题标题】:Rails request referrer doesn't contain the #xxxRails 请求引荐来源网址不包含#xxx
【发布时间】: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


【解决方案1】:

锚点仅在客户端可用。它永远不会作为任何请求标头的一部分发送。见Is the anchor part of a URL being sent to a web server?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-15
    • 2015-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多