我在使用Rails应用程序运行Stripe时遇到了一些麻烦。当我尝试在我的本地环境中访问我的注册表单时,我收到此错误:
未定义的方法`card_number'
我的观点的相应代码如下:
<%= f.label :card_number, "Credit Card Number" %>
<%= f.text_field :card_number %>
因为我收到卡号的错误,我也知道当我修正卡号的错误时,我会收到CVV代码和卡有效期的错误。我意识到我不应该将任何信用卡信息保存到我的数据库中,因此我的模型中没有关于信用卡信息的任何信息。我运行的唯一数据库迁移是在users表中为条带客户ID令牌设置一个列。
我非常感谢您为Stripe up and working提供的任何帮助!
答案 0 :(得分:1)
调用f.text_field :card_number
期望f.object上的属性(真实或虚拟)......所以,请改为:
=label_tag :credit_card
=text_field_tag :credit_card
这些不会绑定到您的模型,但会存在于表单上....您可以通过javascript获取它们(这是真正的重点)。
你会把它与:
结合起来=f.hidden_field :card_token
并实际存储card_token以供日后使用。