1

我正在使用链接并与他们一起发送一些参数,

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

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

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

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

4

1 回答 1

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
于 2013-05-30T06:32:05.953 回答