Метод Rails возвращает тег span вместо строки для моего заполнителя

0

У меня есть метод перевода, который берет строку и возвращает другую на основе пользователя. Он возвращает строку для всех моих кнопок и ссылок, но продолжает возвращать тег span, когда я пытаюсь использовать его с заполнителями. Я также использую Twitter Bootstrap, не уверен, что это важно.

Метод перевода:

  def translator(english)
    # takes string and searches Translation.all for a match unless user.english
    unless current_user.english
      spanish = Translation.where(english: english)
    end
    return spanish.present? ? spanish.last.spanish : english
  end

Моя панель поиска с заполнителем:

<%= form_tag search_path, :method => "get" do %>
    <div class="input-group">
        <%= text_field_tag :query, params[:query],
            placeholder: translate("Search"), class: "form-control" %>
        <span class="input-group-btn">
            <button class="btn btn-default" type="submit">
                <i class="glyphicon glyphicon-search"></i>
            </button>
        </span>
    </div><!-- /input-group -->
<% end %>

Создается тег. Это говорит, что перевод отсутствует, даже когда я знаю, что там матч. Из источника просмотра:

placeholder="<span class="translation_missing" title="translation missing: en.Search">Search</span>"
  • 1
    Как вы думаете, почему translate в представлении вызовет метод translator в помощнике?

1 ответ

1
Лучший ответ

Вы определили метод, называемый translator но вы вызываете метод, называемый translate: вы вызываете рельс, переводящий хелпер вместо того, который вы определили.

  • 0
    Это было это. Не могу поверить, что я пропустил это. Спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню