rails-как перевести содержимое кода ruby в формат формы?

У меня есть код ruby.

<%= f.label "Email *" %>

И я хочу перевести английское слово «Email» на японское слово, потому что в настоящее время я интернационализирую свой сайт, написанный на английском языке.

Я попробовал следующее.

<%= f.label "<%= t(:email) %> *" %>

Однако это не сработало. Что мне делать?

2 ответа

  1. <%Тег уже переключается на ruby, где =также будет отображаться результат кода. Для того, чтобы получить перевод, вы можете использовать <%= f.label t("email") %>и использовать электронную почту в ваших файлах перевода.

    Поскольку вам нужен перевод внутри формы, если он привязан к модели, вы также можете перевести свою модель, как описано в разделе Перевод моделей внутри руководств . Потом <%= f.label :email %>переведу из коробки.

    Есть несколько способов пометить необходимые поля, вы можете просто сделать <%= f.label "#{t("email")} *" %>или стиль необходимого поля с помощью css, как:

    # app/view/.../....rb
    <%= f.label :email, class: 'required' %>
    
    # app/assets/stylesheets/.../....css
    label.required:after {
        content: " *";
    }
    
  2. Вы не должны использовать <% %>внутри другое <% %>. Напишите это так:

    <%= f.label "#{t(:email)} *" %>