Я пытаюсь создать гем, который обертывает d3.js. Источник можно найти по адресу https://github.com/iblue/d3-rails
Итак, когда я включаю этот драгоценный камень в свой Gemfile
gem "d3-rails", :git => "git://github.com/iblue/d3-rails.git"
И когда я включаю javascript в свое приложение.js:
//=require d3
Тогда компиляция моего ресурса завершается неудачно, и мой скомпилированный application.js просто содержит
throw Error("Encoding::CompatibilityError: incompatible character encodings: UTF-8 and ASCII-8BIT")
. Я использую Rails 3.1.3 и ruby-1.9.3-p125. jQuery использует точно такую же структуру гемов и работает. Что я делаю не так?
EDIT :
Я также видел этот вопрос: Ruby 1.9 выдает ошибку кодирования javascript . Здесь это не применяется, мой файл действителен UTF-8:
ruby-1.9.3-p125 :001 > d = File.read("./d3.js")
=> [...]
ruby-1.9.3-p125 :002 > d.encoding
=> #
ruby-1.9.3-p125 :003 > d.valid_encoding?
=> true
РЕДАКТИРОВАТЬ 2 :
Я также попытался вставить немного вуду в свой config / environment.rb
. Не работает:
# -*- encoding : utf-8 -*-
# Load the rails application
require File.expand_path('../application', __FILE__)
# --------- VOODOO BEGINS HERE -----------------
Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
# --------- END VOODO --------------------------
# Initialize the rails application
Ratecode::Application.initialize!