0

在我的 Rails 应用程序中启动和运行 Stripe 时遇到了一些问题。当我尝试在本地环境中访问我的注册表单时,出现此错误:

未定义的方法“card_number”

我的视图对应的代码如下:

<%= f.label :card_number, "Credit Card Number" %>
<%= f.text_field :card_number %>

因为我收到卡号错误,我也知道当我修复卡号错误时,我会收到 CVV 代码和卡到期日期错误。我意识到我不应该将任何信用卡信息保存到我的数据库中,所以我的模型中没有任何关于信用卡信息的信息。我运行的唯一数据库迁移是在我的用户表中为条带客户 ID 令牌设置一列。

非常感谢您在让 Stripe 启动和工作方面为我提供的任何帮助!

4

1 回答 1

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 以供以后使用。

于 2012-07-02T01:51:25.723 回答