Rails,如何从控制器提交 PayPal 请求,而不是表单,URL 编码
Posted
技术标签:
【中文标题】Rails,如何从控制器提交 PayPal 请求,而不是表单,URL 编码【英文标题】:Rails, How to submit PayPal requests from controller, instead of a form, URL encoding 【发布时间】:2011-08-21 05:52:39 【问题描述】:我们正在尝试从控制器而不是表单向 PayPal 提交请求。当我们使用表单版本时,一切正常,但是当我们在控制器中使用重定向时,无论我们做什么都会出错。似乎存在某种 URL 编码问题。
表格:
控制器: 我们已经尝试了以下所有方法,但都导致错误。
redirect_to Paypal_URL + "?cmd=_s-xclick:encrypted=" + @paypal_link 并返回 => Rails 给我们 URI 错误
redirect_to URI.encode(Paypal_URL + "?cmd=_s-xclick:encrypted=" + @paypal_link) 并返回 => 我们从贝宝收到 500 错误。看起来链接编码错误
【问题讨论】:
【参考方案1】:迈克,
这可能不是问题的最佳解决方案,但我还需要从控制器重定向到 Paypal 付款网址。以下对我来说很好:
if @project.save!
# Send to PayPal
redirect_to URI.encode("https://www.paypal.com/cgi-bin/webscr" + "?cmd=_xclick&business=sales@domain.com¤ct_code=USD&item_name#@project.name&amount=#@project.price")
else
# not created
redirect_to :back, :notice => "Didn't work"
end
【讨论】:
以上是关于Rails,如何从控制器提交 PayPal 请求,而不是表单,URL 编码的主要内容,如果未能解决你的问题,请参考以下文章