Ответ 1
вместо
<%= f.submit %>
ставить
<%= f.submit "My Submit Text" %>
Я перечислил свой файл _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 %>
вместо
<%= f.submit %>
ставить
<%= f.submit "My Submit Text" %>
Если вы хотите изменить все теги создания и обновления формы, это изменение легко сделать. Измените config/locales/en.yml
следующим образом:
en:
helpers:
submit:
create: "Crear un %{model}"
update: "Confirmar cambios al %{model} creado"
На основе ответа @daniel вы также можете настроить значения тегов отправки на основе для каждой модели:
en:
helpers:
submit:
model_name:
create: "Create"
update: "Update"
И тогда в вашей форме вы можете просто использовать:
<%= f.submit %>
См. здесь для документации (второй пример.)
Вы можете использовать:
<%= f.submit 'Name of the submit button' %>
Для таких вопросов рассмотрите возможность использования доступных документов либо в
Иногда поиск в google, подобный приведенному ниже, помогает:
При записи в erb
<%= f.submit "your text" %>
при записи в HAML
= f.button :submit, "your text"
В HAML запятая должна быть там после отправки, иначе она будет вызывать ошибку.
У меня была эта проблема, и мне только пришлось перевести название модели следующим образом:
pt-br:
activerecord:
models:
user:
one: "Usuário"
more: "Usuários"
Это также будет дополнять ответ @daniel, который дал мне подсказку о том, чего не хватает. Тем не менее, я полагаю, что ответ @daniel действительно не нужен, поскольку он уже находится на rails-i18n
На всякий случай, я пытался с этим сценарием:
f.submit t('conf.begin') class: 'btn btn-outline btn-success'
Но это не сработало, решение было с запятой перед классом (это было не очевидно в начале для меня):
f.submit t('conf.begin'), class: 'btn btn-outline btn-success'
Приветствия
Прост, используйте
<%= f.submit 'Desired text on the button' %>
Иногда использование помощников неприемлемо из-за использованного текста или вам нужно дополнительно добавить класс и т.д., поэтому вы можете напрямую переопределить value
:
<%= f.submit class: 'btn btn-primary', value: 'Login' %>
или
<%= f.button :submit, class: 'btn btn-primary', value: 'Login' %>
Кстати, он был отмечен @cassi.lup в комментарии к принятому ответу.
Проверено на Rails 4.2.3.