i18n ファイルに関して、Rails 4.0 の読み込みに問題があるようです
理想的には、3+ に従って I18n ロード パスはどうあるべきか
/Users/joshianiket22/.rvm/gems/ruby-1.9.3-p327@rails3_2/gems/activesupport-4.0.0/lib/active_support/locale/en.yml
/Users/joshianiket22/.rvm/gems/ruby-1.9.3-p327@rails3_2/gems/activemodel-4.0.0/lib/active_model/locale/en.yml
/Users/joshianiket22/.rvm/gems/ruby-1.9.3-p327@rails3_2/gems/activerecord-4.0.0/lib/active_record/locale/en.yml
/Users/joshianiket22/.rvm/gems/ruby-1.9.3-p327@rails3_2/gems/actionpack-4.0.0/lib/action_view/locale/en.yml
/Users/joshianiket22/.rvm/gems/ruby-1.9.3-p327@rails3_2/gems/carrierwave-0.9.0/lib/carrierwave/locale/en.yml
/Users/joshianiket22/carrierwave_tester/config/locales/en.yml
Rails 4.0 で見られるもの
/Users/joshianiket22/.rvm/gems/ruby-1.9.3-p327@rails3_2/gems/activesupport-3.2.11/lib/active_support/locale/en.yml
/Users/joshianiket22/.rvm/gems/ruby-1.9.3-p327@rails3_2/gems/activemodel-3.2.11/lib/active_model/locale/en.yml
/Users/joshianiket22/.rvm/gems/ruby-1.9.3-p327@rails3_2/gems/activerecord-3.2.11/lib/active_record/locale/en.yml
/Users/joshianiket22/.rvm/gems/ruby-1.9.3-p327@rails3_2/gems/actionpack-3.2.11/lib/action_view/locale/en.yml
/Users/joshianiket22/workspace/zenjavi/carrierwave_tester/config/locales/en.yml
/Users/joshianiket22/.rvm/gems/ruby-1.9.3-p327@rails3_2/gems/carrierwave-0.9.0/lib/carrierwave/validations/../locale/en.yml
アプリケーション固有のen.ymlの後にcarrierwave en.ymlがロードされ、問題があるという2つの違いを明確に見ることができます
Railsアプリケーションでload_pathsを変更し、load_pathsの順序を期待どおりに変更する方法がない限り、簡単な方法はないことをお勧めします
ここでプルリクエストを出しました。それを決定するために、完全にCarrierwaveの人たちに畏敬の念を抱いています
ハッキーソリューション:
以前はこの解決策を提供することを控えていましたが、それでもここでそれほど悪いことをしたい場合はどうすればよいですか
libディレクトリ(auto_load_i18n.rbとしましょう)にファイルを定義し、libパスをautoloadに割り当てます(application.rb内)
config.autoload_paths += %w(#{config.root}/lib)
中auto_load_i18n.rb
にこう書く
I18n.load_path.delete(Rails.root.join("config/locales/en.yml").to_s)
I18n.load_path << Rails.root.join("config/locales/en.yml").to_s
そして、あなたの一番上にあるlibファイルを必要としますapplication_controller.rb
require 'auto_load_i18n'
class ApplicationController < ActionController::Base
そして、私はすべてがうまくいくと思います
これで、私がこれを可能な解決策として差し控えていた理由を理解できます:)
この助けを願っています