我有一个Rails应用程序,它使用我正在积极开发的宝石.如何指示应用程序在每次请求时重新加载gem?
我尝试发送电子邮件时遇到错误.我正在尝试从localhost发送电子邮件..动作邮件设置是
ActionMailer::Base.smtp_settings = {
:enable_starttls_auto => true,
:address => "smtp.gmail.com",
:port => 587,
:domain => "mydomain.com",
:authentication => :plain,
:user_name => "do-not-reply@mydomain.com",
:password => "mypassword"
}
Run Code Online (Sandbox Code Playgroud)
当我第一次配置它时,电子邮件工作正常.但在发送4或5封电子邮件后,该功能停止工作,并向我显示此错误
Net :: SMTPAuthenticationError ............
535-5.7.1不接受用户名和密码.
哪里可能有问题?
谢谢..
总结 :
Gem pg_search 提供的模块PgSearch 无法在staging 环境(Rbenv、nginx、unicorn、capistrano)中包含、需要或加载,问题通过http 发生在web 服务器上,但不会出现在staging 服务器的rails 命令上。可以包含其他 gem 提供的其他模块而不会出错。
本地开发环境(rvm、puma)没问题。
我目前正在使用 ruby 2.0.0 开发 Ruby On Rails 4.0 应用程序,其中 git 存储库托管在 bitbucket 上。我使用 capistrano 通过临时服务器部署应用程序。
两者的 rails 环境文件(environment/production.rb 和 environment/staging.rb)是相同的。
我做了什么:
我已经安装了 pg_search gem(一个 PostgreSQL 全文搜索 gem),将它添加到我的 Gemfile 并将子句“include PgSearch”放在我想与 pg_search gem 一起使用的 Active Record 模型中
我已经在开发模式下运行该应用程序......它有效!
问题 :
将更改部署到登台服务器后:通过 http 服务器,我收到此错误:
App::MyController#index 中的 NameError 未初始化常量 MyActiveRecordModel::PgSearch
(通常,包含在 GemFile 中的这个 pg_search gem 应该在自动加载搜索路径中包含它的 lib/*.rb 文件和一个像 load "pg_search.rb", require"pg_search" 或 …