我想提供一个有用的:长度验证消息,告诉用户当前值有多长。我想说的是,“请将邮件限制为100个字符;目前您有152个字符。”
而不是“请将邮件限制为100个字符”。但是,在翻译错误消息时,Rails i18n似乎没有使记录本身可用于内省。有没有办法为ActiveRecord模型实现如下的i18n消息?
NSPredicate.init(format: "id in %@", ids)
当我这样做时,Rails拒绝插入“%{value.length}”并将其传递出来。
答案 0 :(得分:1)
我认为它可以帮到你:
# models/record.rb
class Record < ApplicationRecord
validates :field, length: {
maximum: MAXIMUM_CHARS,
too_long: I18n.t("errors.messages.too_long",
count: MAXIMUM_CHARS, current_length: @record.title.length) }
end
# en.yml
too_long: "Maximum %{count} characters. You currently have %{current_length} characters."