Rails 3 формируют как изменить текст на кнопке отправки - PullRequest
103 голосов
/ 22 января 2011

Я перечислил свой файл _form.html.erb ниже, что я хотел бы сделать, это изменить текст на кнопке отправки. Я знаю, как это сделать в html, но не знаю, как это сделать в 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 %>

Ответы [ 10 ]

183 голосов
/ 22 января 2011

вместо

<%= f.submit  %>

поместить

<%= f.submit "My Submit Text" %>
61 голосов
/ 26 июля 2011

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

en:
  helpers:
    submit:
      create: "Crear un %{model}"
      update: "Confirmar cambios al %{model} creado"
41 голосов
/ 25 апреля 2013

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

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

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

<%= f.submit %>

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

16 голосов
/ 22 января 2011

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

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

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

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

6 голосов
/ 06 февраля 2014

При записи в erb

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

при записи в HAML

= f.button :submit, "your text"

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

5 голосов
/ 25 сентября 2013

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

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

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

2 голосов
/ 01 октября 2015

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

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

или

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

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

Протестировано на Rails 4.2.3.

1 голос
/ 08 апреля 2019

для использования в версии Slim значение = "XYZ" изменить введенный по умолчанию текст для ввода.

1 голос
/ 11 сентября 2015

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

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

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

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

Приветствия

0 голосов
/ 11 ноября 2013

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

<%= f.submit 'Desired text on the button' %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...