【发布时间】:2014-06-18 01:36:22
【问题描述】:
我希望使用信用卡验证器 gem 来验证信用卡号和类型。我对 Rails 还比较陌生,尽管我已经查看了 github 文档,但我仍在尝试找出如何最好地使用这个 gem。我需要在模型中添加一些代码吗?如果是这样,具体如何?我需要使用 validate_with 吗?
我已经进行了一些谷歌搜索,但似乎找不到任何关于如何最好地使用此 gem 以及将代码放在哪里的示例。
看来我的名声在这里受到了抨击:(
这就是我所做的。在我的信用卡模型中,我添加了以下行:
validates_with ValidateCreditCard
然后我创建了文件 lib/validate_credit_card.rb 如下:
class ValidateCreditCard < ActiveModel::Validator
def validate(record)
if !CreditCardValidator::Validator.valid?(record.card_number.to_s)
record.errors[:base] << "The credit card number is not valid."
end
end
end
我还必须将以下行放入我的 config/application.rb
config.autoload_paths += %W( #{config.root}/lib )
这似乎有效,但是,如果这是最好的方法吗?
此外,即使我在输入无效的信用卡号时可以看到错误消息,但信用卡字段并没有被红色包围,所以我需要查看整个错误[:base] 以及它是如何发生的有效。
希望得到一些反馈,说明这是进行此类验证的正确方法。
非常感谢。
【问题讨论】:
-
这是一个编程论坛。当您提出问题时,通常希望您包括到目前为止您已经尝试过的内容以及为什么它没有奏效,最好包含代码 sn-ps 和错误日志。这样,人们就可以判断您的理解程度以及您提出问题的背景。
-
很公平..我可以做到。我主要是在寻找实际使用这个宝石的最佳方式的方向。我尝试了无数次谷歌搜索,但找不到任何真实的例子。之后我将执行一些代码并进行更新。谢谢。