我已经列出了我的_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 %>
答案 0 :(得分:183)
而不是
<%= f.submit %>
把
<%= f.submit "My Submit Text" %>
答案 1 :(得分:61)
如果要更改所有创建和更新表单提交标记,则可以轻松进行此更改。像这样修改config/locales/en.yml
:
en:
helpers:
submit:
create: "Crear un %{model}"
update: "Confirmar cambios al %{model} creado"
答案 2 :(得分:40)
在@ daniel的答案的基础上,您还可以在每个模型的基础上自定义提交标记值:
en:
helpers:
submit:
model_name:
create: "Create"
update: "Update"
然后在您的表单中,您可以使用:
<%= f.submit %>
有关文档,请参阅here(第二个示例。)
答案 3 :(得分:16)
您可以使用:
<%= f.submit 'Name of the submit button' %>
对于这样的问题,请考虑使用
中的可用文档有时,像下面的谷歌搜索有助于:
答案 4 :(得分:6)
写入 erb
时 <%= f.submit "your text" %>
在 HAML
中写作时= f.button :submit, "your text"
在 HAML 中,逗号应该在提交后存在,否则会抛出错误。
答案 5 :(得分:5)
我遇到了这个问题,我只需要这样翻译模型名称:
pt-br:
activerecord:
models:
user:
one: "Usuário"
more: "Usuários"
这也将补充@ daniel的回答,它给了我一些遗漏的暗示。但是,我认为@ daniel的回答并不是必需的,因为它已经在rails-i18n
答案 6 :(得分:2)
有时使用帮助程序是不可接受的,因为使用过的文本或者您还需要添加类等,因此您可以直接覆盖value
:
<%= f.submit class: 'btn btn-primary', value: 'Login' %>
或:
<%= f.button :submit, class: 'btn btn-primary', value: 'Login' %>
顺便提一句, @ cassi.lup 在评论中接受了答案。
在Rails 4.2.3上测试。
答案 7 :(得分:1)
以防万一,我正在尝试这种情况:
f.submit t('conf.begin') class: 'btn btn-outline btn-success'
但是它没有用,解决方案是在课前用逗号(在开始时我并不明显):
f.submit t('conf.begin'), class: 'btn btn-outline btn-success'
干杯
答案 8 :(得分:1)
用于Slim版本 value =“ xyz” 更改默认的提交输入文本。
答案 9 :(得分:0)
简单,使用
<%= f.submit 'Desired text on the button' %>