HTML-код внутри кнопок с simple_form

Я новичок в rails и только что нашел гем simple_form. Я установил его с помощью bootstrap suport, но теперь я не могу заставить этот код работать так, как я хочу

<%= f.button :submit, "<i class='icon-ok icon-white'></i> Save", class: "btn btn-primary" %>

Я просто хочу поместить значок внутри кнопки, но когда я это сделаю, мне будет показана кнопка с текстом «i class =» icon-ok icon-white »& gt; & lt; / i & gt; Сохранить & APOS;

Я тоже пытался сделать

<%= f.button :submit, class: "btn btn-primary" do %><i class="icon-ok icon-white"></i> Save<% end %>

Но безуспешно. Как я могу добавить немного HTML внутри кнопки с гемом simple_form?

Ответы на вопрос(5)

One line example submit button in Rails with bootstrap btn class:
<%= button_tag(type: 'submit', class: "btn btn-primary") do %> Save <% end %>

В simple_form 3.0rc используйте: тип кнопки кнопки (он передает ваш блок оригинальному помощнику кнопки ActiveView):

<%= f.button :button do %>
  <i class="icon-save"></i>
  Commit
<% end %>

Или напишите дополнительную кнопку-обертку.

Для получения дополнительной информации обратитесь к методу simple_form / form_builder.rb FormBuilder # button.

 26 сент. 2014 г., 00:33
По какой-то причине это работает только с кнопками:, а не с: отправить. Я использую 3.1rc2
 01 сент. 2013 г., 15:47
Я забираю это назад, это работает!
 21 сент. 2015 г., 21:40
это работает, и должно быть фактическим ответом, который решает его, так как он использует методы simple_form.
 01 сент. 2013 г., 15:29
Пробовал, не работает. Однако написание обертки для кнопок звучит как хорошая идея.
 29 сент. 2014 г., 16:41
Когда вы используетеbutton метод, который передает ваш блок"#{type}_button" или же"#{type}" помощник. Помощники простых кнопок форм не поддерживают блоки, поэтому использованиеbutton_button помощник, который объявлен какalias_method :button_button, :button мы называем оригинальный метод изActionView::Helpers::FormBuilder, С помощью кнопки "отправить" это невозможно. Читать кодsimple_form/form_builder.rb для лучшего объяснения.

Вы можете сделать это с помощью следующего кода:

= f.button :button, 'Send', data: { disable_with: "<i class='fi-heart'></i> Sending..." }

Обратите внимание, что вы хотите использоватьf.button вместоf.submit Also note that :button должен быть первым параметромf.button

 15 дек. 2016 г., 17:14
& quot; Также обратите внимание, что: кнопка должна быть первым параметром & quot; это решило мою проблему. я попытался с помощью: отправить, который не работал! он не анализировал текст в html, но когда я изменил на: button, он работал отлично. Спасибо

Я думаю, что вы не можете сделать это с simple_form. Но у меня для тебя хорошие новости. Вы должны быть в порядке, используя помощник рельсов вдоль стороны с простой формой.

просто делать

button_tag(type: 'submit', class: "btn btn-primary") do
  content_tag(:i, class: "icon-ok icon-white")
  "Save"
end

Не уверен, что это работает, даже синтаксис, но он должен дать вам подсказку

Решение Вопроса

Не используйте content_tag. Следующие работы:

  <%= button_tag(type: 'submit', class: "btn btn-primary") do %>
    <i class="icon-ok icon-white"></i> Save
  <% end %>
 24 нояб. 2014 г., 01:50
Мне это не нужно "так сильно". Это просто так в моем коде, у меня много<%= f.something %> и по какой-то причине<%= button_tag %> появляется. Несколько некрасиво. Тем не менее, это (может?) Стало реальной проблемой для отправки вложенных форм ...
 24 нояб. 2014 г., 02:05
Но как насчет «форм внутри форм»? ? Затем мы хотим знать, какую форму мы хотим отправить ... (хотя я не могу придумать ни одного сценария, в котором это можно сделать ... может быть, если мы просто хотим опубликовать подмножество изменений?)
 24 нояб. 2014 г., 00:44
Даже если это решение работает, оно мне не нравится, потому что я больше не вижу переменную f :( ...
 24 нояб. 2014 г., 01:48
@CyrilDD Зачем тебе так плохо видеть конструктор форм? Все это набор методов, упрощающих построение формы с использованием модели или класса в качестве ссылки. Кнопке отправки не нужно знать о структуре модели, как это делают входные данные, поэтому на самом деле нет особых оснований использовать компоновщик. К сожалению, обработка Rails большей части уровня представления является полной катастрофой и крайне нуждается в обновлении. Есть гораздо большие проблемы.
 24 нояб. 2014 г., 01:52
@CyrilDD Это не проблема с вложенными формами, поскольку вы фактически отправляете одну форму с помощью одной кнопки отправки. Независимо от того, как «вложенный» это просто умное использование одной формы. Посмотрите на предоставленную форму. Вы увидите, что все вложения просто кодируются в атрибуты имени входов и декодируются на другом конце.

Ваш ответ на вопрос