我的任务是编写一个函数来验证下面代码中的名字和姓氏是否相同。我必须使用 ActiveModel::Validation 和 ActiveModel::Errors,如果两个名称相同,它应该给出错误消息“Nope”。
我的红宝石经验很少,但这是我的尝试:
require 'active_model'
class Person
include ActiveModel::Validations
validate :test
validates_presence_of :first
validates_presence_of :last
def initialize(first, last)
@first = first
@last = last
end
def test
errors.add_to_base("Nope") if @first == @last
end
end
a = Person.new("James", "James")
b = Person.new("James")
因此,当我尝试实例化时收到一条错误消息,b
但这只是一个 Ruby 错误,因为我的函数缺少参数。我敢肯定这可能很简单,但我会非常感谢任何帮助。