我正在使用链接并发送一些参数,
%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
但这是一个问题,当我在记录器中检查它时,它不会获取任何值。 它不正确或有任何错误吗?请给出你的建议。
答案 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