2011-05-08 19 views
2

我們正試圖從一個控制器,而不是從一個表單提交請求到PayPal貝寶請求。當我們使用表單版本時,一切正常,但是當我們在控制器中使用重定向時,無論我們做什麼,我們都會收到錯誤。它似乎存在某種URL編碼問題。Rails中,如何從控制器提交的,而不是一種形式,URL編碼

形式:

<%的form_tag Paypal_URL做%> <%= hidden_​​field_tag:CMD 「_s-xclick」 %> <%= hidden_​​field_tag:加密,@paypal_link%> <%= submit_tag「完成購買」%> <%結束%>

控制器: 我們已經嘗試了所有的追隨者,但是都會導致錯誤。

redirect_to的Paypal_URL + 「CMD = _s-xclick:加密=」 + @paypal_link並返回 => Rails的給我們URI錯誤

redirect_to的URI.encode(Paypal_URL +「CMD = _s-xclick?加密=」 + @paypal_link),並返回 =>我們從貝寶500錯誤。貌似鏈路編碼錯誤

回答

3

麥克,

這可能不是問題的最佳解決方案,但我還需要從控制器後重定向到一個Paypal付款鏈接。對我來說,以下的罰款:

if @project.save! 

    # Send to PayPal 
    redirect_to URI.encode("https://www.paypal.com/cgi-bin/webscr" + "?cmd=_xclick&[email protected]&currenct_code=USD&item_name#{@project.name}&amount=#{@project.price}") 

else 
    # not created 
    redirect_to :back, :notice => "Didn't work" 
end 
相關問題