Suppose I have a model class like this:
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:
   "the description of Shoebox is not in the approved list"

and not:
   "the description of Bob is not in the approved list"

I've tried :name => name, , :name => :name, :name => lambda{name},
:name => lambda{:name}.

I've tried creating a helper method
  def shoebox_name
   name
  end

And passing :name => shoebox_name, :name => :shoebox_name, :name =>
lambda{shoebox_name} and :name => lambda {:shoebox_name}.

How can I get the ivar value for name to be interpolated into the string?


Paul

-- 
You received this message because you are subscribed to the Google Groups 
"rails-i18n" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rails-i18n?hl=en.

Reply via email to