Задать вопрос

Русский в Ruby on Rails?

RoR не воспринимает русские строковые литералы в файле контроллера:

SyntaxError in PagesController#about<br/>
<br/>
/home/alex/rails/test/app/controllers/pages_controller.rb:3: invalid multibyte char (US-ASCII)<br/>
/home/alex/rails/test/app/controllers/pages_controller.rb:3: invalid multibyte char (US-ASCII)<br/>
/home/alex/rails/test/app/controllers/pages_controller.rb:3: syntax error, unexpected $end, expecting keyword_end<br/>
 @title = &quot;Главная&quot;<br/>
 ^<br/>
Rails.root: /home/alex/rails/test<br/>




Env dump:

GATEWAY_INTERFACE: &quot;CGI/1.1&quot;<br/>
HTTP_ACCEPT: &quot;text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8&quot;<br/>
HTTP_ACCEPT_CHARSET: &quot;windows-1251,utf-8;q=0.7,*;q=0.3&quot;<br/>
HTTP_ACCEPT_ENCODING: &quot;gzip,deflate,sdch&quot;<br/>
HTTP_ACCEPT_LANGUAGE: &quot;ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4&quot;<br/>
HTTP_CACHE_CONTROL: &quot;max-age=0&quot;<br/>
REMOTE_ADDR: &quot;127.0.0.1&quot;<br/>
REMOTE_HOST: &quot;localhost&quot;<br/>
SERVER_NAME: &quot;localhost&quot;<br/>
SERVER_PROTOCOL: &quot;HTTP/1.1&quot;




Подскажите что можно сделать
  • Вопрос задан
  • 10196 просмотров
Подписаться 9 Оценить 6 комментариев
Решения вопроса 1
rinat_crone
@rinat_crone
Chef Technical Officer
Почитайте вот это: Rails Internationalization (I18n) API и не пишите больше строковые литералы в контроллерах или моделях.

А вообще, посмотрите вот этот скринкаст: Railscasts: #30 Pretty Page Title и почитайте к нему комментарии, чтобы узнать как правильно («rails-way») организовать работу с заголовками страниц.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
philpirj
@philpirj
Первой строчкой в файле пишите:
# coding: utf-8
Ответ написан
Комментировать
@Mox
Team Lead, RoR, React/React Native
Это что-то, связанное с ruby 1.9.x веткой, под 1.8.7 такого нет
Причем, я помню что если генерить проект из под 1.9.x сразу, то такого не возникает.

Есть у кого-то опыт миграции русскоязычных проектов с 1.8.7 на 1.9.x?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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