Я бы хотел, чтобы текст выглядел следующим образом:
Уже зарегистрированы? Войти!
Обратите внимание, что есть ссылка на текст. В этом примере он указывает на 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 строк) будет повторяться для всех просмотров. Это было бы не очень СУХОЙ.
Я предполагаю, что я мог бы использовать "локализованные частичные", но это кажется слишком каменным камнем; Я думаю, что предпочитаю первый вариант иметь так много крошечных файлов вида.
Итак, мой вопрос: есть ли "правильный" способ реализовать это?