Rails: 如何在 Rails 窗体中更改提交按钮上的文本

我已经列出了我的 _ 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 %>
86393 次浏览

而不是

<%= f.submit  %>

put

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

你可使用:

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

For questions like this, consider using the available docs either at

有时,像下面这样的谷歌搜索会有所帮助:

If you want to change all create and update form submit tags, this change is easy to make. Modify config/locales/en.yml like so:

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 %>

有关文档,请参阅 给你(第二个示例)

我遇到了这个问题,我只需要这样翻译模型名称:

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

This also would complement @daniel's answer which gave me the hint what was missing. However, I suppose that @daniel's answer is not really necessary as it is already on Rail-i18n

它简单,使用

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

当用 erb写作时

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

当用 HAML写作时

= f.button :submit, "your text"

HAML中逗号应该在提交后出现,否则它会抛出错误。

以防万一,我试过这个方案:

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

但这并不奏效,解决办法是在上课前用逗号(我一开始并不明显) :

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

干杯

有时使用助手是不可接受的,因为使用文本或您需要额外添加类等,所以您可以直接覆盖 value:

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

or:

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

顺便说一下,这是由 @ cassi. lup在评论中提到的接受的答案。

在 Rails4.2.3上测试。

超薄版本使用 Value = “ xyz” 更改默认的提交输入文本。