Rails 3构成了如何更改提交按钮上的文本

Rod*_*son 104 ruby-on-rails-3

我已经列出了我的_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 %>
Run Code Online (Sandbox Code Playgroud)

And*_*i S 186

代替

<%= f.submit  %>
Run Code Online (Sandbox Code Playgroud)

<%= f.submit "My Submit Text" %>
Run Code Online (Sandbox Code Playgroud)

  • 这对我不起作用 - 我必须做`<%= f.submit:value =>"登录"%>`而不是.(Rails 3.2.11) (4认同)
  • 如果你想保持按钮样式,你可以这样做:f.按钮:提交,"我的提交文本" (2认同)

小智 63

如果要更改所有创建和更新表单提交标记,则可以轻松进行此更改.修改config/locales/en.yml如下:

en:
  helpers:
    submit:
      create: "Crear un %{model}"
      update: "Confirmar cambios al %{model} creado"
Run Code Online (Sandbox Code Playgroud)

  • 我喜欢你如何在英语语言环境中放入西班牙语短语! (54认同)

Nat*_*Kot 42

基于@ daniel的答案,您还可以基于每个模型自定义提交标记值:

en:
  helpers:
    submit:
      model_name:
        create: "Create"
        update: "Update"
Run Code Online (Sandbox Code Playgroud)

然后在您的表单中,您可以使用:

<%= f.submit %>
Run Code Online (Sandbox Code Playgroud)

请参阅此处获取文档(第二个示例.)


tom*_*rte 16

您可以使用:

<%= f.submit 'Name of the submit button' %>
Run Code Online (Sandbox Code Playgroud)

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

有时,像下面的谷歌搜索有助于:

  • 它在这里要求比在没有例子的情况下阅读文档更容易! (3认同)
  • 我发现Ruby文档在回答具体的"我怎么做"xxx问题时非常令人沮丧. (2认同)

Pul*_*wal 6

写在 erb中时

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

HAML写作时

= f.button :submit, "your text"
Run Code Online (Sandbox Code Playgroud)

HAML中,逗号应该在提交后存在,否则会抛出错误.

  • 逗号不必在那里,没有为我工作. (2认同)

Cla*_*abe 5

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

pt-br:
  activerecord:
    models:
      user:
        one: "Usuário"
        more: "Usuários"
Run Code Online (Sandbox Code Playgroud)

这也将补充@ daniel的回答,它给了我一些缺失的暗示.但是,我认为@ daniel的回答并不是必需的,因为它已经在rails-i18n上了