program story

Rails 3 양식 제출 버튼의 텍스트를 변경하는 방법

inputbox 2020. 8. 14. 07:41
반응형

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 %>

대신에

<%= 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 검색이 도움이됩니다.


When writing in erb

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

when writing in HAML

= f.button :submit, "your text"

In HAML comma should be there after submit otherwise it will throw error.


I had this problem and I only had to translate the model name this way:

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

This also would complement @daniel's answer which gave me the hint what was missing. However, I suppose that @daniel's answer is not really necessary as it is already on rails-i18n


Sometimes using helpers is not acceptable because of used text or you need additionally add class etc., so you can directly override value:

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

or:

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

By the way it was mentioned by @cassi.lup in comment to accepted answer.

Tested on Rails 4.2.3.


Just in case, I was trying with this scenario:

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

But it was not working, the solution was with a comma before the class (it was not obvious at the begining for me):

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

Cheers


for Slim version use value="xyz" to change the default submit input text.


Its simple, use

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

참고URL : https://stackoverflow.com/questions/4769483/rails-3-form-how-to-change-the-text-on-the-submit-button

반응형