Я бы хотел написать такой текст:
Уже зарегистрировались? Авторизоваться!
Обратите внимание, что в тексте есть ссылка. В этом примере он указывает на Google - на самом деле он указывает на мое приложение log_in_path
.
Я нашел два способа сделать это, но ни один из них не выглядит «правильным».
Первый способ, который я знаю, предполагает наличие моего en.yml
:
log_in_message: "Already signed up? <a href='{{url}}'>Log in!</a>"
И на мой взгляд:
<p> <%= t('log_in_message', :url => login_path) %> </p>
Это работает , но мне кажется , что эта <a href=...</a>
деталь en.yml
не очень чиста.
Другой известный мне вариант - это использование локализованных представлений - login.en.html.erb
и login.es.html.erb
.
Это также не кажется правильным, поскольку единственной другой строкой будет вышеупомянутая; остальная часть представления (~ 30 строк) будет повторяться для всех представлений. Было бы не очень СУХОЕ.
Думаю, я мог бы использовать «локализованные частичные файлы», но это кажется слишком громоздким; Я думаю, что предпочитаю первый вариант иметь так много маленьких файлов просмотра.
Итак, мой вопрос: есть ли «правильный» способ реализовать это?