web-dev-qa-db-ja.com

Rails 3 form送信ボタンのテキストを変更する方法

私がやりたいことの下に_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 %>
103
Rod Nelson

の代わりに

<%= f.submit  %>

プット

<%= f.submit "My Submit Text" %>
186
Andrei S

すべての作成および更新フォーム送信タグを変更する場合、この変更は簡単です。変更config/locales/en.yml そのようです:

en:
  helpers:
    submit:
      create: "Crear un %{model}"
      update: "Confirmar cambios al %{model} creado"
61
daniel

@danielの答えに基づいて、送信タグの値をモデルごとにカスタマイズすることもできます

en:
  helpers:
    submit:
      model_name:
        create: "Create"
        update: "Update"

そして、あなたのフォームであなたはただ使うことができます:

<%= f.submit %>

ドキュメントについては here を参照してください(2番目の例)。

41
Nathan Kot

次を使用できます。

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

このような質問については、次のいずれかの入手可能なドキュメントの使用を検討してください。

以下のようなGoogle検索が役立つ場合があります。

16
tomeduarte

erbで書き込む場合

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

書き込み時[〜#〜] haml [〜#〜]

= f.button :submit, "your text"

[〜#〜] haml [〜#〜]では、送信後にカンマが存在する必要があります。そうでない場合、エラーがスローされます。

6
Pulkit Agarwal

私はこの問題を抱えていたので、モデル名を次のように翻訳するだけでした。

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

これは、@ danielの答えを補完するものであり、何が欠けているのかをヒントにしてくれました。ただし、@ danielの回答はすでに必要であるとは思わない Rails-i18n

使用されているテキストのためにヘルパーを使用できない場合や、クラスを追加する必要がある場合などがあります。そのため、valueを直接オーバーライドできます。

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

または:

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

ところで、それは@ cassi.lupによってコメントの中で受け入れられた答えに言及されました。

テスト済みRails 4.2.3。

2
arogachev

slimバージョンの場合、value = "xyz"を使用してデフォルトの送信入力テキストを変更します。

1
Asif Ahmed

念のため、このシナリオを試してみました。

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

しかし、それは機能していませんでした、解決策はクラスの前にコンマを使用していました(私にとって最初は明らかではありませんでした):

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

乾杯

1
Cris R

そのシンプルな使い方

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