首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未初始化常数Google::Google::Cloud::Translate.new在生产环境中引发的云

未初始化常数Google::Google::Cloud::Translate.new在生产环境中引发的云
EN

Stack Overflow用户
提问于 2019-08-08 16:12:59
回答 1查看 960关注 0票数 1

我有一个GoogleTranslate服务,可以翻译我的应用程序中的文本。这个特性可以在本地主机上工作,但是在生产中它会引发

未初始化常数谷歌::云在我的app/helpers/google_translations_helper.rb:4:in‘初始化’.

下面是与Gemfile相关的部分:

代码语言:javascript
复制
# use of google API
gem 'google-api-client', '~> 0.11', :require  => 
'google/apis/analyticsreporting_v4'
gem 'omniauth-google-oauth2'
gem "google-cloud-translate"

下面是helper/service初始化程序:

代码语言:javascript
复制
module GoogleTranslationsHelper
 class GoogleTranslate
  def initialize
    @translation_service = Google::Cloud::Translate.new
  end

  def translate(text)
    @translation_service.translate text.to_s, from: "fr", to: "en"
  end
 end
end

我不知道我是不是错过了宝石版之类的东西。

有人已经有问题了吗?

EN

回答 1

Stack Overflow用户

发布于 2019-08-09 00:23:52

我猜你在运行Rails。确保包括:

代码语言:javascript
复制
require "google/cloud/translate"

在某个合理的位置,或者在创建客户端对象的文件的顶部(在您的情况下是app/helpers/google_translations_helper.rb),或者在全局初始化文件(如config/application.rb )中。(与大多数图书馆一样,谷歌云翻译库需要你在使用它之前就要求它。参见文档中的代码片段以获取示例。)

我还不完全清楚为什么您的开发环境和生产环境之间的工作方式不同,但是这两个环境之间的初始化过程通常有很大的差异,所以这并不令人惊讶。只需确保您有在使用之前需要任何库的习惯。

另外,我还建议更新Gemfile,以调用更多最新版本的Google客户端库。或者至少要确保您已经完成了最近的bundle update。截至本文撰写之时,0.11已经有两年多的历史,最新版本为0.30.8。谷歌云翻译的版本是1.3.0。如果您使用的是旧版本,则始终有可能出现问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57416811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档