1

私はリンクを使用していて、パラメータの一部を送信しています。

%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

しかし、ここに問題があります。ロガーでチェックしても値が取得されません。正しくないか、エラーがありますか? あなたの提案をしてください。

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 に答える