Size: a a a

2016 October 27

MT

Maria Tsvetkova in Rubyata
Мне это тоже казалось странным, но раз мастера говорят, что можно, значит можно
источник

KO

Kalys Osmonov in Rubyata

<body data-locale=“<%= I18n.locale %>”>
источник

KO

Kalys Osmonov in Rubyata
не, гемы не нужны.
источник

D

Daniel in Rubyata
Kalys Osmonov

<body data-locale=“<%= I18n.locale %>”>
с языка снял
источник

KO

Kalys Osmonov in Rubyata
$(‘body’).data(‘locale’)
источник

MS

Mikhail Sytchev in Rubyata
Daniel
с языка снял
фуууу, вы там сосетесь чтоле?
источник

RS

Rustam Sharshenov in Rubyata
<html lang="<%= I18n.locale %>"> - так еще лучше будет
источник

KO

Kalys Osmonov in Rubyata
Rustam Sharshenov
<html lang="<%= I18n.locale %>"> - так еще лучше будет
да. так лучше.
источник

MT

Maria Tsvetkova in Rubyata
Rustam Sharshenov
<html lang="<%= I18n.locale %>"> - так еще лучше будет
Спасибо, попробую!
источник

RS

Rustam Sharshenov in Rubyata
Одно дело, если переменная локали нужна только для того, чтобы законфигурить определенную либу. Другое - рендерить html жабаскриптом. Если в проекте часть html рендерится на бекенде, а часть - на фронтенде, то это быстро превращается в сложноподдерживаемую кашу. Лучше либо все на бекенде делать, либо все на фронтенде. ИМХО
источник

MT

Maria Tsvetkova in Rubyata
У меня карта на главной странице зависит от базы - маркеры добавляются для каждого объекта бд. А так как карта вся js-ная, то и запоняю я ее объектами в js. Получается, что этот кусок у меня рендерится на фронтенде, но я не знаю, можно ли это перенести на бекенд. Парюсь неистово, конечно.
источник

RS

Rustam Sharshenov in Rubyata
аа)) в этом случае - все ок
источник

MT

Maria Tsvetkova in Rubyata
Ребят, для особо одаренных. Я пытаюсь-таки без гема решить, пока. Если я правильно поняла, <html lang="<%= I18n.locale %>" как-то подключает все переменные локали в страницу. Вроде как локаль(и ее пути, все дела) становится глобальной и доступна отовсюду. Я вытащила ее через $('html').attr('lang'), но вот как получить из нее значение конкретного, прописанного значения из ru.yml, не соображу. Например, у меня есть перевод ru: organizations: index: Published: в файле ru.yml. И в erb шаблонах я вытаскиваю его (на странице с таким же путем, например) через t('.Published') или t('organizations.index.Published') на любой другой странице , и это работает, значение выводится как миленькое. А если я то же самое пытаюсь завернуть в js (даже на той же странице) вроде  var txt = <% t('organizations.index.Published') %>, то получаю undefined. А как через вновь заданную в html локаль это получить, не могу ни понять, ни нагуглить.
источник

IP

ILIA Piryazev in Rubyata
var txt = <%= t('organizations.index.Published') %> попробуйте знак равно добавить в вывод руби
источник

MT

Maria Tsvetkova in Rubyata
Пробовала, тогда получаю Uncaught SyntaxError: Unexpected token <
источник

RT

Ruslan Tatyshev in Rubyata
$('html').attr('lang') ворачавает string вроде нужно JSON.parse $('html').attr('lang')
источник

RT

Ruslan Tatyshev in Rubyata
var locale = JSON.parse($('html').attr('lang'))
var txt = locale.organizations.index.Published;
источник

KO

Kalys Osmonov in Rubyata
чииво?
источник

RT

Ruslan Tatyshev in Rubyata
А я не правельно понял
источник

RS

Rustam Sharshenov in Rubyata
Тааак. давай-те разберемся
источник