从会话Rails获取值

时间:2013-05-30 05:11:19

标签: ruby-on-rails-3 session

我正在使用链接并发送一些参数,

%a{:href => "/auth/#{key}?profile_id=#{@user.id}&profile_type=user}

这些参数在会话中进行,然后在db中保存。 在保存数据库之前,我想获取这些参数的值,为此我在我的应用程序控制器中使用:

before_filter :social_media_type

 def social_media_type
   Rails.logger.debug"***********Session Set*****#{params[:profile_id]}*********#{params[:profile_type]}***"
   if params[:profile_type].present? and params[:profile_id].present?      
    session[:social_profile_type] = params[:profile_type]
    session[:social_profile_id] = params[:profile_id]
   end
end

但这是一个问题,当我在记录器中检查它时,它不会获取任何值。 它不正确或有任何错误吗?请给出你的建议。

1 个答案:

答案 0 :(得分:1)

您确定您的HAML甚至正在解析。你错过了一个收盘报价(除非它是一个错字)

%a{:href => "/auth/#{key}?profile_id=#{@user.id}&profile_type=user"} Hello

我个人总是喜欢帮助标签,因为它更容易进行更改,例如:

= link_to "Hello", auth_path(:key => key, :profile_id => @user.id, :profile_type => "user"

使用routes.rb中的路由,如

match 'auth/:key' => "your_controller#action", :as => :auth