[ruby-on-rails] Rails : Rails 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 %>



답변

대신에

<%= f.submit  %>

놓다

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


답변

모든 생성 및 업데이트 양식 제출 태그를 변경하려는 경우이 변경은 간단합니다. 다음 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' %>

이와 같은 질문에 대해서는 다음 위치에서 사용 가능한 문서를 사용해보십시오.

때로는 아래와 같은 Google 검색이 도움이됩니다.


답변

erb로 쓸 때

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

HAML로 작성할 때

= f.button :submit, "your text"

HAML 에서는 제출 후 쉼표가 있어야합니다. 그렇지 않으면 오류가 발생합니다.


답변

이 문제가 발생하여 모델 이름을 다음과 같이 번역하면됩니다.

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에서 테스트되었습니다.