This is along the lines of what Matt is referring to.

class DayValidator < ActiveRecord::Validator
  def validate()
    if YOUR_TEST_FOR_INVALIDITY(record.day)
      date = Date::DAYNAMES[record.day]
      record.errors[:day] << "already has a target #{date}"
    end
  end
end

class YourClass < ActiveRecord::Base
  validates_with DayValidator
end




On Friday, July 25, 2014 9:21:08 PM UTC-6, Ricky Hopkins wrote:
>
> I am trying to convert an integer to a DAYNAME in my validation message
>
> validates_uniqueness_of :day, scope: :store, :message => "already has a 
> target for #{Date::DAYNAMES[self.day]}."
>
> This does not seem to work, I cannot access the day value.
> The following displays the correct value
>
> validates_uniqueness_of :day, scope: :store, :message => "already has a 
> target for %{value}."
>
> This throws an error:
>
> validates_uniqueness_of :day, scope: :store, :message => "already has a 
> target for #{Date::DAYNAMES[%{value}]}."
>
>
> Any help would be Amazing!
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/968ab5ce-dce8-4aa4-8db0-bc96f6b9eeaa%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to