Rails 3 формируют способ изменения текста в кнопке отправки

Я перечислил свой файл _form.html.erb ниже того, что мне хотелось бы сделать, это изменить текст в кнопке отправки. Я знаю, как это сделать в html, но не shure, как это сделать в Rails 3

%= form_for(@faq) do |f| %>
  <% if @faq.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@faq.errors.count, "error") %> prohibited this faq from being saved:</h2>

      <ul>
      <% @faq.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <div class="field">
    <%= f.label :question %><br />
    <%= f.text_field :question %>
  </div>
  <div class="field">
    <%= f.label :answer %><br />
    <%= f.text_area :answer %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

Ответ 1

вместо

<%= f.submit  %>

ставить

<%= f.submit "My Submit Text" %>

Ответ 2

Если вы хотите изменить все теги создания и обновления формы, это изменение легко сделать. Измените config/locales/en.yml следующим образом:

en:
  helpers:
    submit:
      create: "Crear un %{model}"
      update: "Confirmar cambios al %{model} creado"

Ответ 3

На основе ответа @daniel вы также можете настроить значения тегов отправки на основе для каждой модели:

en:
  helpers:
    submit:
      model_name:
        create: "Create"
        update: "Update"

И тогда в вашей форме вы можете просто использовать:

<%= f.submit %>

См. здесь для документации (второй пример.)

Ответ 4

Вы можете использовать:

<%= f.submit 'Name of the submit button' %>

Для таких вопросов рассмотрите возможность использования доступных документов либо в

Иногда поиск в google, подобный приведенному ниже, помогает:

Ответ 5

При записи в erb

<%= f.submit "your text" %>

при записи в HAML

= f.button :submit, "your text"

В HAML запятая должна быть там после отправки, иначе она будет вызывать ошибку.

Ответ 6

У меня была эта проблема, и мне только пришлось перевести название модели следующим образом:

pt-br:
  activerecord:
    models:
      user:
        one: "Usuário"
        more: "Usuários"

Это также будет дополнять ответ @daniel, который дал мне подсказку о том, чего не хватает. Тем не менее, я полагаю, что ответ @daniel действительно не нужен, поскольку он уже находится на rails-i18n

Ответ 7

На всякий случай, я пытался с этим сценарием:

f.submit t('conf.begin') class: 'btn btn-outline btn-success'

Но это не сработало, решение было с запятой перед классом (это было не очевидно в начале для меня):

f.submit t('conf.begin'), class: 'btn btn-outline btn-success'

Приветствия

Ответ 8

Прост, используйте

<%= f.submit 'Desired text on the button' %>

Ответ 9

Иногда использование помощников неприемлемо из-за использованного текста или вам нужно дополнительно добавить класс и т.д., поэтому вы можете напрямую переопределить value:

<%= f.submit class: 'btn btn-primary', value: 'Login' %>

или

<%= f.button :submit, class: 'btn btn-primary', value: 'Login' %>

Кстати, он был отмечен @cassi.lup в комментарии к принятому ответу.

Проверено на Rails 4.2.3.