2013-02-12 63 views
0

我有一個用戶簽名的Echosign pdf,一旦發生這種情況,用戶將被重定向到一個url,它具有?documentKey = 3r3t33hhjijij。我不生成密鑰,只有在pdf簽名後才生成密鑰。這個密鑰對於每個簽名的pdf都不相同。保存到頁面在Rails服務器上重定向時生成的可變參數

我可以在我的控制檯看:

Started GET "/webpage?documentKey=3r3t33hhjijij" for ip address .... 
Processing by Controller#index as HTML 
    Parameters: {'documentKey"=>3r3t33hhjijij"}... 

我不知道如何登錄本/進入這個變量,因爲PDF簽訂後,不經過我調用API Echosign方法它發生。

感謝您提前提供任何幫助。

我用Rails 3.2.8

回答

0

在控制器的index動作,你可以訪問使用params[:key]傳過來的查詢字符串的任何參數,例如params[:documentKey]

所以下面將輸出到控制檯:

@docKey = params[:documentKey] 
logger.info "Key: #{@docKey}" 

編輯

但如果是與路由選擇的問題,定義如下(我們稱之爲控制器mypdf和動作echosign) 。將以下行添加到您的config/routes.rb

match 'mypdf/echosign' => 'mypdf#echosign', :as => 'echosign' 

讓我們假設用戶被定向到您網站上的/echosign?documentKey=ksdjfshdfjh

在您的控制器

所以,如果被定義如下:

class MypdfController < ApplicationController 
    def echosign 
    logger.info "Reached echosign" 
    logger.info "Document key is #{params[:documentKey]}" 
    redirect_to(root_url) 
    end 
end 

那麼當用戶被定向到頁面簽上自己的PDF後,你應該看到:

Started GET "/echosign?documentKey=ksdjfshdfjh" for 127.0.0.1 at 2013-02-14 23:27:49 -0700 
    Processing by MypdfController#echosign as HTML 
    Parameters: {"documentKey"=>"ksdjfshdfjh"} 
Reached echosign 
Document key is ksdjfshdfjh 
+0

這不是工作,我不明白爲什麼它不是。我已經在多個控制器中試過了,它說它是零。這個params [:documentKey]是否在某個時候被清除?謝謝您的幫助。 – myData 2013-02-12 09:51:46

+0

未定義的方法'[]'爲零:NilClass – myData 2013-02-12 10:49:13

+0

'params'不會被Rails清除。它看起來像documentKey *不是作爲參數傳遞給Rails的。在控制器中,如果您插入語句「logger.info」#{params.inspect}「',那麼您在控制檯中看到什麼? – mccannf 2013-02-12 11:25:47

相關問題