开发者

const_missing error when changing I18n backedn

开发者 https://www.devze.com 2023-03-20 06:53 出处:网络
I\'m trying to upgrade the I18n backend of my application to use the database instead of the yml files for internationalization.I\'m following the steps found for the I18n-active_record gem found here

I'm trying to upgrade the I18n backend of my application to use the database instead of the yml files for internationalization. I'm following the steps found for the I18n-active_record gem found here: https://github.com/svenfuchs/i18n-active_record.

Unfortunately, the aws-s3 gem seems to be conflicting somehow as I can't even start my server or console once I create the locale.rb initializer. Here is a summary of the steps I'm following:

gem "i18n-active_record", "~> 0.0.2"
create new file config/initializers/locale.rb
inside开发者_运维百科 locale.rb
I18n.backend = I18n::Backend::Database.new
restart localhost server to load initializer

Error Message

/Users/user_name/.rvm/gems/ree-1.8.7-2010.02@app/gems/aws-s3-0.6.2/lib/aws/s3/extensions.rb:206:in `const_missing': uninitialized constant I18n::Backend::Database (NameError) ...(Several more lines)

Any help or insight would be appreciated!


Great question and great discussion. The answer is contained in a combination of the comments up above, but for those of you who are upgrading to a Rails 3 application, this is a summary of the steps I had to take.

Add this to your Gemfile:

gem 'i18n-active_record', :require => 'i18n/active_record'

Add this to a new config file config/initializers/locale.rb

require 'i18n/backend/active_record'
I18n.backend = I18n::Backend::ActiveRecord.new

Take out any code in application.rb that was previously initializing the record store. This clears the missing content errors. Full instructions are on the Github repo for this backend module which was removed from the core I18n: https://github.com/svenfuchs/i18n-active_record


Although the readme in github says so, I don't think the Database constant is actually defined by the gem. Try

I18n.backend = I18n::Backend::ActiveRecord.new
0

精彩评论

暂无评论...
验证码 换一张
取 消