我Events
可以邀请每个User
一次:
class Invitation < ActiveRecord::Base
belongs_to :event
belongs_to :user
validates_uniqueness_of :user_id,
scope: :event_id,
message: "has already been invited"
end
我想在错误消息中包含用户名,这是
的效果validates_uniqueness_of :user_id,
scope: :event_id,
message: ->(error, values) { "#{user.firstname} has already been invited" }
但是我无法从lambda中访问模型实例。有解决方法吗?
答案 0 :(得分:1)
你可以做到
validates_uniqueness_of :user,
scope: :event,
message: ->(error, values) { "#{values[:user].firstname} has already been invited" }
根据this Rails issue,但3.2中有一些回归,因此请检查这是否适用于您的版本。