我非常接近使用Rails 4在我的网络应用上实现条带,但我不断收到以下错误:
ActiveModel::ForbiddenAttributesError in PaymentsController#create
该模型在我的Payments Controller中的这一行调出了一个问题:
params[:payment][:stripe_token] = charge.id
@payment = Payment.new(params[:payment])
respond_to do |format|
if @payment.save
我认为问题与强参数有关,所以我尝试将以下内容添加到付款控制器的底部,但我什么也没得到。
def payment_params
params.require(:payment).permit(:payment, :stripe_token)
end
关于如何解决这个问题的想法。我使用以下教程来实现条带支付,除了我提交表单时的错误,它似乎有效,因为我的条带测试页显示了费用。
网站链接:synaptian
app的Github:stripe_example
任何帮助都将不胜感激。
答案 0 :(得分:0)
应该是这样的
payment_params[:stripe_token] = charge.id
@payment = Payment.new(payment_params)
respond_to do |format|
if @payment.save
您将在控制器中将此方法设为私有
private
def payment_params
params.require(:payment).permit(:payment, :stripe_token)
end
如果您不了解,请参考rails 4强参数教程。你可以用简单的方法做到。别担心。
http://blog.sensible.io/2013/08/17/strong-parameters-by-example.html