Rails 2.2.2 and globalize - undefined method `render_file' for class `ActionView::Base' (NameError)

Looks like globalize (1.2) is not compatible with rails 2.2.2. I am getting: ' => Booting Mongrel (use 'script/server webrick' to force WEBrick) => Rails 2.2.2 application starting on http://0.0.0.0:3003 => Call with -d to detach => Ctrl-C to shutdown server ** Starting Mongrel listening at 0.0.0.0:3003 ** Starting Rails with development environment... D:/projects/passdate2009/src/vendor/rails/activesupport/lib/ active_support/dependencies.rb:159:in `require': undefined method `render_file' for class `ActionView::Base' (NameError) Exiting         from D:/projects/passdate2009/src/vendor/rails/railties/lib/ commands/server.rb:49         from D:/projects/passdate2009/src/vendor/rails/railties/lib/ commands/server.rb:27:in `require'         from D:/NetBeans/ruby2/jruby-1.1.4/lib/ruby/site_ruby/1.8/ rubygems/custom_require.rb:27:in `require'         from script\server:3 ' gloablize rewrites render_file (in order to cache templates). render_file does not more exist, though...

How can this be resolved?

Thx Clemens

Hi…,

it depends how you installed rails or ruby…!

If you install in drive:c and and trying to run application in drive:D

Then it will give error…

Enjoy and Gud luck

Regards Hafeez

first: both on D:

second: this is IMHO not the problem. As mentioned above: globalize aliases/overrides render_file (in order to cache templates). render_file does not more exist, though...

A somehow equal problem was/is discussed here: http://groups.google.com/group/rubyonrails-talk/browse_thread/thread/89491f198080e272/fc7642a2f7e2193b

Any hints? Will globalize 1.2 be adopted for Rails 2.2.x?

Thx in advance Clemens

Clemens,

Rails 2.2 has I18n support built in and you don't need to use
additional plugins.

Rayn, sounds tempting, BUT my (2 year-old-legacy) app is built on Globalize and I would prefer to stay with Globalize, at least with this app... Should I go back to Rails 2.1.x?

Regards Clemens

Quoting Clemens <clemens.wyss@helbling.ch>:

Rayn, sounds tempting, BUT my (2 year-old-legacy) app is built on Globalize and I would prefer to stay with Globalize, at least with this app... Should I go back to Rails 2.1.x?

I would suggest yes. I am/was using Globalite and it is incompatible with Rails 2.2.2. Almost any internationalization (I18N) package had to reach deep inside Rails and change things the new built-in I18N will also be changing. I suspect that the immediate problem you were seeing would only be the first of many. Lock your app to 2.1.x or start the change to the built-in. I will be doing the changes today and will post how hard it was when it's completed.

Just my $0.02USD,   Jeffrey

has anybody migrated from Globalize to i8n?

Quoting Jeffrey L. Taylor <ror@abluz.dyndns.org>:

Quoting Clemens <clemens.wyss@helbling.ch>: > > Rayn, > sounds tempting, BUT my (2 year-old-legacy) app is built on Globalize > and I would prefer to stay with Globalize, at least with this app... > Should I go back to Rails 2.1.x? >

I would suggest yes. I am/was using Globalite and it is incompatible with Rails 2.2.2. Almost any internationalization (I18N) package had to reach deep inside Rails and change things the new built-in I18N will also be changing. I suspect that the immediate problem you were seeing would only be the first of many. Lock your app to 2.1.x or start the change to the built-in. I will be doing the changes today and will post how hard it was when it's completed.

This is what I did to migrate from Globalite to Rails 2.2 I18N:

0) Be sure all tests pass.

1) Install the latest rails gem:

gem install rails

2) Update the app:

rake rails:update

This likely modifies config/boot.rb and may update the Javascripts and may add scripts to script/ directory.

3) Uninstall you I18N plugin/gem/package. For me:

script/plugin remove globalite

4) Watch the I18N Railscast:

5) Skim various I18n guides

http://rails-i18n.org/wiki/pages/i18n-rails-guide

6) Make the translations directory:

mkdir config/locales

7) Download any needed example translation files from:

Note: English is built-in, only application specific translations needed in config/locales/en.yml, config/locales/en-US.yml, etc.

8) Check running Rails 2.2 and I18n:

script/console test Loading test environment (Rails 2.2.2)

I18n.t 'time.am'

=> "am"

quit

8) Convert translation calls to I18n.t() and add translations to config/locales/en.yml or whatever.

For example, Globalite calls:

:hello.l t(:hello) :logged_in.l_with_args(:user => 'Jeff') t(:logged_in, :user => 'Jeff')

Translation file for above: en:   hello: "Hello, world!"   user: "{{user}} logged in."

It took me 2 1/2 hours from start to all automated tests passing. 5 controllers, 12 models, approximately 1400 LOC. Another 10-15 minutes fixing things the automated tests didn't catch.

HTH,   Jeffrey

Quoting Clemens <clemens.wyss@helbling.ch>: [snip]

Any hints? Will globalize 1.2 be adopted for Rails 2.2.x?

Check out Globalize2.

Jeffrey

Just a heads up. The Spanish translation on http://github.com/svenfuchs/rails-i18n/tree/master/rails/locale use incorrect or obsolete syntax for plurals. Global search and replace ':many' to ':other' (without the quotes).

Jeffrey

P.S. Bug report e-mailed to Sven Fuchs and the original author of the file.