Гемы devise и backup не понимают кириллицу?

Проблема началась после того, как я привязал адрес сайта (он кириллический) к своему ip. Проблемы возникают при отправке почты при выполнении бекапа и при регистрации пользователя (ну и прочих действиях, при которых devise шлет письмо). Природу ошибки до конца не понял, но есть сильное подозрение, что это из-за моего доменного имени. Остальные письма, которые я шлю из контроллеров отсылаются нормально. Вот какую ошибку получаю:
An ActionView::Template::Error occurred in background at 2016-05-22 16:43:50 +0300 :

  incompatible character encodings: UTF-8 and ASCII-8BIT
  /var/www/4e4o/releases/20160522085506/app/views/devise/mailer/confirmation_instructions.html.haml:2:in `_app_views_devise_mailer_confirmation_instructions_html_haml___1275780348649185615_74784040'

  -------------------------------
Backtrace:
-------------------------------

  /var/www/4e4o/releases/20160522085506/app/views/devise/mailer/confirmation_instructions.html.haml:2:in `_app_views_devise_mailer_confirmation_instructions_html_haml___1275780348649185615_74784040'
  /var/www/4e4o/shared/bundle/ruby/2.1.0/gems/actionview-4.2.5/lib/action_view/template.rb:145:in `block in render'
  /var/www/4e4o/shared/bundle/ruby/2.1.0/gems/activesupport-4.2.5/lib/active_support/notifications.rb:166:in `instrument'
  /var/www/4e4o/shared/bundle/ruby/2.1.0/gems/actionview-4.2.5/lib/action_view/template.rb:333:in `instrument'
  /var/www/4e4o/shared/bundle/ruby/2.1.0/gems/actionview-4.2.5/lib/action_view/template.rb:143:in `render'
  /var/www/4e4o/shared/bundle/ruby/2.1.0/gems/actionview-4.2.5/lib/action_view/renderer/template_renderer.rb:54:in `block (2 levels) in render_template'
  /var/www/4e4o/shared/bundle/ruby/2.1.0/gems/actionview-4.2.5/lib/action_view/renderer/abstract_renderer.rb:39:in `block in instrument'
  /var/www/4e4o/shared/bundle/ruby/2.1.0/gems/activesupport-4.2.5/lib/active_support/notifications.rb:164:in `block in instrument'
и т.д.

Посмотрел несколько тем с такой проблемой. Но то что нарыл мне не помогает, а именно:
/config/application.rb
config.encoding = 'utf-8'
config.action_mailer.default :charset => 'utf-8'

/config/environment.rb
# Load the Rails application.
require File.expand_path('../application', __FILE__)

Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8

# Initialize the Rails application.
Rails.application.initialize!


Вот если разбираться отдельно с backup, то если я указываю ip вместо доменного имени, то все хорошо, если наоборот, то происходит та же ошибка
notify_by Mail do |mail|
		mail.on_success		= true
		mail.on_failure		= true

		mail.from			= smtp_config['default_mail']
		mail.to				= smtp_config['default_mail']
		mail.address		= smtp_config['smtp_server']
		mail.port			= smtp_config['smtp_port']
		mail.domain			= <b>вот здесь</b>
		mail.user_name		= smtp_config['smtp_user']
		mail.password		= smtp_config['smtp_password']
		mail.authentication	= smtp_config['smtp_authentication']
		mail.encryption		= :starttls
	end
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
sim3x
@sim3x
В начало файла с кириллицей после шебанга допиши
# encoding: UTF-8

Или используй ascii отображение домена
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы