ActionView :: Template :: Error(您的模板未保存为有效的utf-8

时间:2015-05-08 07:05:10

标签: ruby-on-rails ruby windows

我正在按照this guide

编写我的第一个Ruby On Rails程序

现在我已经创建了我的第一个表单,如 - 5.2第一个表单

中所述

我的表单如下:

# encoding: utf-8

<%= form_for :article do |f| %>
  <p>
    <%= f.label :title %><br>
    <%= f.text_field :title %>
  </p>

  <p>
    <%= f.label :text %><br>
    <%= f.text_area :text %>
  </p>

  <p>
    <%= f.submit %>
  </p>
<% end %>

现在,当我尝试加载访问网址 - http://localhost:3000/articles/new的网页时,我收到错误信息:

We're sorry, but something went wrong.

日志说:

  Rendered articles/new.html.erb within layouts/application (0.0ms)
Completed 500 Internal Server Error in 0ms

ActionView::Template::Error (Your template was not saved as valid utf-8. Please either specify utf-8 as the encoding for your template in your text editor, or mark the template with its encoding by in
serting the following as the first line of the template:

# encoding: <name of correct encoding>.

所以我已经将编码设置为我页面的第一行,但我仍然遇到同样的错误。请告诉我这里的错误是什么?

更新

我还尝试使用以下行设置编码:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

但我仍然遇到同样的问题。

2 个答案:

答案 0 :(得分:2)

总而言之,这是我根据Marek Lipka的评论解决问题的方法。

刚刚将我的编辑器中的编码修改为UTF-8。我在Windows 8中使用Notepad ++。现在是我的表单:

<h1>New Article</h1>
<%= form_for :article do |f| %>
  <p>
    <%= f.label :title %><br>
    <%= f.text_field :title %>
  </p>

  <p>
    <%= f.label :text %><br>
    <%= f.text_area :text %>
  </p>

  <p>
    <%= f.submit %>
  </p>
<% end %>

答案 1 :(得分:0)

似乎您的文本编辑器会以不同的编码保存您的代码。你使用哪个文本编辑器? 尝试在SublimeText(非常强大的文本编辑器)中创建相同的内容。

或者只是尝试在文本编辑器中查找编码设置。