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].你应该实施会话[:广告系列]重置在一个好地方. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |