Ruby on rails Rails:信用卡验证器gem-需要如何使用它的好例子吗

Ruby on rails Rails:信用卡验证器gem-需要如何使用它的好例子吗,ruby-on-rails,credit-card,Ruby On Rails,Credit Card,我期待着使用信用卡验证器宝石来验证信用卡号码和类型。我对rails还比较陌生,尽管我已经看过github文档,但我仍然在努力找出如何最好地使用这个gem。我需要在模型中添加一些代码吗?如果是,具体情况如何?我是否需要将验证_与一起使用 我做了一些谷歌搜索,但似乎找不到任何关于如何最好地使用这个gem以及将代码放在哪里的例子 看来我的名声在这里受到了攻击:( 以下是我所做的。在我的信用卡模型中,我添加了以下行: validates_with ValidateCreditCard 然后,我创建了l

我期待着使用信用卡验证器宝石来验证信用卡号码和类型。我对rails还比较陌生,尽管我已经看过github文档,但我仍然在努力找出如何最好地使用这个gem。我需要在模型中添加一些代码吗?如果是,具体情况如何?我是否需要将验证_与一起使用

我做了一些谷歌搜索,但似乎找不到任何关于如何最好地使用这个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
这似乎是可行的,但是,如果这是最好的方式做到这一点

此外,即使我在输入无效信用卡号时可以看到错误消息,信用卡字段也不会被红色包围,因此我需要查看整个错误[:base]及其工作原理

希望您能提供一些反馈,说明这是进行此类验证的正确方法


非常感谢。

以下是我如何让它工作的

我在我的信用卡模型中添加了以下行:

validate :validate_credit_card

private

def validate_credit_card
  if !CreditCardValidator::Validator.valid?(:card_number.to_s)
    errors.add(:card_number, "is not valid.")
  end
end

这是一个编程论坛。当你问一个问题时,通常要求你包括你迄今为止尝试过的内容以及为什么不起作用,最好是使用代码片段和错误日志。这样,人们可以判断你的理解水平以及你问问题的背景。很公平……我可以做到。我主要是在寻找f或者说,这是实际使用这个gem的最佳方式。我尝试了无数次谷歌搜索,但都找不到任何真实的例子。我会在那之后执行一些代码和更新。谢谢。由于某种原因,上面的内容实际上不起作用。不确定为什么。我回到了我原来的帖子中,这确实起作用。
validate :validate_credit_card

private

def validate_credit_card
  if !CreditCardValidator::Validator.valid?(:card_number.to_s)
    errors.add(:card_number, "is not valid.")
  end
end