Как изменить строку Button в частичной форме в Ruby on Rails - PullRequest
0 голосов
/ 08 мая 2018

У меня есть эти HTML

new.html.erb

<h1> New Customer </h1>
<%= render 'form' %>

edit.html.erb

<h1>Edit customer</h1>
<%= render 'form' %>

А потом

_form.html.erb

<%= form_with model: @customer, local: true do |form| %>
  ...

  <p>
    <%= form.submit %>
  </p>

<% end %>

<%= link_to 'Back', customers_path %>

Так что теперь у кнопки, сгенерированной формой.submit, просто есть общий текст.

Это либо Update Customer, либо Create Customer.

Как я могу изменить его на пользовательский текст?!

Спасибо

Ответы [ 3 ]

0 голосов
/ 08 мая 2018

Вы можете поместить желаемую строку в тег erb.

<%= form.submit 'Your text' %>

или если вы хотите изменить текст в зависимости от того, создается ли объект или редактируется:

<%= f.submit foo.persisted? ? 'Update Foo' : 'Create Foo' %>

0 голосов
/ 08 мая 2018

В качестве альтернативы вы можете изменить значения по умолчанию в config/locales/en.yml. (Если файл не существует, вам придется его создать.) Этот файл пользовательских локалей переопределяет значения по умолчанию самого Rails.

en:
  helpers:
    select:
      # Default value for :prompt => true in FormOptionsHelper
      prompt: "Please select"

    # Default translation keys for submit and button FormHelper
    submit:
      create: 'Create %{model}'
      update: 'Update %{model}'
      submit: 'Save %{model}'

См .: ActionView :: Helpers :: FormBuilder # submit и action_view / locale / en.yml

Дополнительную информацию о файлах локали можно найти в руководстве по API Internationals Rails (I18n) .

0 голосов
/ 08 мая 2018

Вы можете передать строку в качестве параметра.

<%= form.submit "Save changes" %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...