I would suggest installing the localization generator.. I forget the
exact name but in can easily be found by ''gem search localization
-r''
or by following this link http://rubyforge.org/projects/localization
>From this amazing generator, you simply create one yaml file for each
external language you want to support.
in your specific example, you could do something like:
class Entry < ActiveRecord::Base
validates_presence_of :title
:message => l(empty_string_message)
where l() is a helper method in the localization gem that automatically
converts to the language specified in your environment
Then your test case would be something like like:
assert_equal l(empty_string_message), first.errors.on(:title)
I hope this helps and I am pretty new to rails myself but this gem is a
beauty and it couldn''t be simpler to work with!
ilan
Hans-Eric Gr?nlund wrote:> Hello!
>
> I have a model that validates presence of the attribute title
>
> class Entry < ActiveRecord::Base
> validates_presence_of :title
> :message => ''empty title is a no no''
> end
>
> I also have a test of this valitation.
>
> class EntryTest < Test::Unit::TestCase
> fixtures :entries
>
> def test_validate_title
> first = entries(1)
> first.title = ''''
> assert !first.save
> assert_equal 1, first.errors.count
> assert_equal ''empty title is a no no'',
first.errors.on(:title)
> end
> end
>
> The thing is I want to replace the hard coded message strings with a
> constant. Where should I put this constant according to best practice?
> I''m thinking of creating a new module for this, but maybe
there''s a
> better way?
>
> Best regards
>
> Hans-Eric Gr?nlund - a newly hatched rails enthusiast
--
Posted via http://www.ruby-forum.com/.