问题
我有一个 Rails 3.2.13 项目,其中一些源文件包含带有非 ASCII 字符的字符串(主要是 åäö)。
当我部署到登台服务器时,一切都在编码错误的风暴中失败了。感谢 StackOverflow,我找到并安装了magic_encoding gem 来# -*- encoding : utf-8 -*-
为每个源文件添加注释。
现在,当我尝试加载页面时出现此错误:
.../app/helpers/venues_helper.rb:25:语法错误,意外的keyword_end,期待输入结束
我试过的
我意识到我一直在我的开发机器上使用 Ruby 2.0.0,在登台服务器上使用 1.9.3(我知道,我知道),在部署时首先出现了整个 UTF-8 问题。也许在我的开发环境中切换到 1.9.3 会有所帮助?没有。
我想到我实际上end
在错误的地方得到了一个。所以我删除了所有内容,但是:
# -*- encoding : utf-8 -*-
module VenuesHelper
end
没有。同样的错误。
我尝试替换文件中的每个空白字符,以防其中一个不是空格或换行符。没有。
我尝试删除魔术评论,以防它导致问题。成功!我不再收到此语法错误,但我被我一开始就打算修复的中断登台服务器所困。:C
我所希望的
解释造成这种情况的原因以及将来避免这种情况的方法。
我的所有其他文件都可以使用魔术注释,即使没有实际内容,这个特定文件也会失败。我勒个去?