Suppose I have a model class:
class Shoebox < ActiveRecord::Base validates_inclusion_of :description, :in => ["small", "medium"], :message => I18n.t("activerecord.errors.models.shoebox.with_name", :name => name) end
And some yaml:
en: activerecord: errors: models: shoebox: with_name: "the description of %{name} is not in the approved list"
And I create a new Shoebox:
s = Shoebox.new(:description => "large", :name => "Bob") s.valid?
But when I look at the error (s.errors.first.message), I see:
"Shoebox description not on approved list"
and not:
"Bob's description is not on an approved list"
I tried :name => name :name => :name :name => lambda{name} :name => lambda{:name} .
I tried to create a helper method
def shoebox_name name end
And the walkthrough :name => shoebox_name :name => :shoebox_name :name => lambda{shoebox_name} and :name => lambda {:shoebox_name} .
How can I get the ivar value for a name that should be interpolated into a string?
source share