TemplateError при отображении немецких специальных символов - PullRequest
1 голос
/ 23 июля 2010

Я использую следующие версии Ruby и Rails для Arch Linux

[hardik@sunshine: kandibank ]$ ruby --version
ruby 1.9.1p429 (2010-07-02 revision 28523) [x86_64-linux]
[hardik@sunshine: kandibank ]$ rails --version
Rails 2.3.8

Я использую базу данных sqllite в режиме разработки.

Я могу сохранить строку, содержащую специальные немецкие символы (umlauts) без проблем, т. е. Мюллер.

Но когда Rails пытается отобразить страницу, которая извлекает ту же строку из базы данных, он вылетает со следующим сообщением об ошибке.Странно, что она правильно отображает строку «Löchen», которая не поступает из базы данных.

ActionView::TemplateError (incompatible character encodings: UTF-8 and
ASCII-8BIT) on line #28 of app/views/candidates/index.html.erb:
25:     <td><%=h candidate.notes %></td>
26:     <td><%= link_to 'Ansehen', candidate %></td>
27:     <td><%= link_to 'Editieren', edit_candidate_path(candidate)
%></td>
28:     <td><%= link_to 'Löchen', candidate, :confirm => 'Are you
sure?', :method => :delete %></td>
29:   </tr>
30: <% end %>
31: </table>

    app/views/candidates/index.html.erb:28:in `block in
_run_erb_app47views47candidates47index46html46erb'
    app/views/candidates/index.html.erb:16:in `each'
    app/views/candidates/index.html.erb:16
    app/controllers/candidates_controller.rb:8:in `index'
    <internal:prelude>:8:in `synchronize'
    /usr/lib/ruby/1.9.1/webrick/httpserver.rb:111:in `service'
    /usr/lib/ruby/1.9.1/webrick/httpserver.rb:70:in `run'
    /usr/lib/ruby/1.9.1/webrick/server.rb:183:in `block in start_thread'

Rendered rescues/_trace (44.0ms)
Rendered rescues/_request_and_response (0.2ms)
Rendering rescues/layout (internal_server_error)

Есть идеи?

С уважением, Хардик

1 Ответ

1 голос
/ 23 июля 2010

Это проблема с Ruby 1.9.x и ERB. В системе отслеживания проблем Rails Lighthouse есть целый поток . Я бы порекомендовал вернуться к Ruby 1.8.7, если вы можете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...