加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在会话中保存URL参数(rails)

发布时间:2020-12-17 03:04:17 所属栏目:百科 来源:网络整理
导读:我正试图将url params从任何页面保存到会话中,因此如果有人在离开其着陆页导航后填写表单,则会保留广告系列ID.我已经设法让它逐页工作,所以如果它们在带有参数的表格上着陆它会保留它,但是如果它们导航它们显然不会.我目前有: 控制器: def campaign if par
我正试图将url params从任何页面保存到会话中,因此如果有人在离开其着陆页导航后填写表单,则会保留广告系列ID.我已经设法让它逐页工作,所以如果它们在带有参数的表格上着陆它会保留它,但是如果它们导航它们显然不会.我目前有:

控制器:

def campaign
  if params[:campaign]!= nil
    session[:campaign] = params[:campaign]
  end
end

def post

  rif = Registerinterest.find(:all,:conditions => ["reference = ?",session[:campaign]])

  if rif.count == 0
    post["Campaign_ID"] = "701D00000001111"
  else
    post["Campaign_ID"] = rif.first.campaign_id
  end
end

当我使用params而不是会话时它起作用,所以我假设我没有正确保存它?

解决方法

您可以在controllers / application_controller.rb中添加before过滤器

class ApplicationController < ActionController::Base
  before_filter persist_campaign_session

  def persist_campaign_session
    session[:campaign] ||= params[:campaign]
  end
end

如果设置了会话[:campaign],则会使用它,否则将使用params [:campaign].你应该实施会话[:广告系列]重置在一个好地方.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读