Rails 3形成了如何改变提交button上的文本

我已经列出我的_form.html.erb文件下面我想要做的是改变提交button上的文字我知道如何在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 %> 

代替

 <%= f.submit %> 

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

如果你想改变所有的创build和更新表单提交标签,这个改变很容易做到。 像这样修改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' %> 

对于这样的问题,请考虑使用可用的文档

  • Ruby on Rails API网站
  • APIdock Ruby on Rails部分 (非常简单的导航/search)

有时,像下面这样的谷歌search有助于:

  • Google: site:api.rubyonrails.org f.submit

erb中写作时

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

HAML写时

 = f.button :submit, "your text" 

在提交HAML后,逗号应该在那里,否则会抛出错误。

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

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

这也将补充@丹尼尔的答案,这给了我什么是缺less的提示。 不过,我想@丹尼尔的答案是不是真的有必要,因为它已经在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上testing