Ruby on rails 我可以在Ruby on Rails中使用PayPal IPN可访问的attr_吗?

Ruby on rails 我可以在Ruby on Rails中使用PayPal IPN可访问的attr_吗?,ruby-on-rails,paypal,Ruby On Rails,Paypal,我用这个RailsCast创建了购物车系统的一部分 那里有一段代码,由PayPal调用用于通知 def create PaymentNotification.create!(:params => params, :cart_id => params[:invoice], :status => params[:payment_status], :transaction_id => params[:txn_id]) render :nothing => true

我用这个RailsCast创建了购物车系统的一部分

那里有一段代码,由PayPal调用用于通知

def create
  PaymentNotification.create!(:params => params, :cart_id => params[:invoice], :status => params[:payment_status], :transaction_id => params[:txn_id])
  render :nothing => true
end
我在Heroku上试过,没有警告,也没有错误。PaymentNotification对象已在数据库中成功创建-但除id外,所有内容均为零!我打开heroku控制台并尝试:

irb(main):002:0> PaymentNotification.create!(:cart_id => "2", :status => "Complete", :transaction_id => "XYZXYZXYZXYZXYZ")
< => "2", :status => "Complete", :transaction_id => "XYZXYZXYZXYZXYZ")
为什么这个警告没有出现在Heroku日志中?为什么创建成功(是因为它只是一个警告,而不是一个错误?)


我能用attr_访问这些东西吗?无论如何都必须验证通知()

对于应用程序安全性,您必须将属性添加到属性中

在rails 4上添加了这个gem。也

我建议您使用自适应支付。你可以看看这篇文章:


添加attr\u accessible会降低安全性,而不是提高安全性。因为没有可访问的属性,所有参数默认情况下都不可用于批量分配。您可以查看
WARNING: Can't mass-assign protected attributes: cart_id, status, transaction_id