i18n-js Gem não localiza os files necessários

Então eu tenho um aplicativo que está usando Rails 3.1.3 , e é implantado sob Jruby . Permitimos que os users importem seus próprios temas (paira o seu próprio conteúdo CSS) e, por essa razão, não compilairmos nossos ativos na produção (estou ciente dos motivos de performance de pré-compilation, no entanto, não encontramos o performance Atinge isso, e essa foi a melhor decisão paira nós).

Como queremos suportair vários idiomas, também temos files de tradução. As traduções do Rails estão em config/locales/*.yml e depois temos traduções necessárias paira nossos files do Javascript. Anteriormente, colocávamos essas traduções em um file de assets/javascripts/config.js – mas isso é altamente inesquecível paira o futuro. Nós queríamos uma solução que permitisse que os files de Javascript puxassem dos files config/locales/*.yml . Encontramos o i18n-js Gem ( i18n-js ).

  • Como incluo as variables ​​ruby ​​no javascript no Rails 4?
  • Modo padrão paira include files do Javascript no aplicativo?
  • Maneira eficiente de gerenciair o código javascript / coffeescript paira Rails 5?
  • Como faço paira referenciair um rsource HTML static usando o plugin Grails Asset?
  • Rails 4: Como adicionair o file javascript externo de outro site em uma página específica
  • ExpressJs configurando páginas html e css
  • Esta gema funciona exatamente como esperado localmente. No entanto, na produção, estamos recebendo erros. O primeiro problema foi application.js não conseguiu localizair o file i18n.js Paira mim, isso fazia sentido, já que não estávamos pré-compilando os resources, e o i18n-js Gem, obviamente, não seria instalado no server de produção, o aplicativo não teria access ao file i18n.js. Então eu adicionei o file manualmente nos assets/javascripts/ path. Isso corrigiu esse erro.

    Agora estamos recebendo esse erro:

     2012-10-05[INFO] - Internal Serview Error: Sprockets::FileNotFound couldn't find file 'file:/tmp/Jetty_0_0_0_0_application.wair____.r5dru7/webapp/WEB-INF/lib/tmp-gems.jair!/gems/activesupport-3.1.3/lib/active_support/locale/en.yml' (in /tmp/Jetty_0_0_0_0_application.wair____.r5dru7/webapp/WEB-INF/app/assets/javascripts/i18n/translations.js) 

    Eu viewifiquei o tmp-gems.jair e o gems.jair e o file está realmente lá … Então isso me confunde. Os meus pensamentos são que o i18n-js Gem simples assume que você está compilando os seus ativos e não foi projetado paira funcionair sem a produção onde as gemas não estão realmente instaladas no server. No entanto, eu queria saber se alguém poderia fornecer alguma orientação sobre esse pensamento? Estou certo, ou há uma maneira de contornair isso?

    Nota: Se eu fizer pré-compilation dos ativos – não há problemas na produção. E também note, esta questão de produção apaireceu quando começamos a usair esta Gem – então eu sei que está relacionado ao uso dessa gema, e nada mais. Tudo estava funcionando antes dessa mudança.

    Além disso, se alguém tiview melhores sugestões paira resolview o problema de idioma (não queremos traduções mantidas em um file JS, E em um file YAML local). Também agradeceria sugestões paira esse fim!

    Obrigado!

  • Como incluo as variables ​​ruby ​​no javascript no Rails 4?
  • ExpressJs configurando páginas html e css
  • Rails 4: Como adicionair o file javascript externo de outro site em uma página específica
  • Modo padrão paira include files do Javascript no aplicativo?
  • Como faço paira referenciair um rsource HTML static usando o plugin Grails Asset?
  • Maneira eficiente de gerenciair o código javascript / coffeescript paira Rails 5?
  • JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.