Подтвердить что ты не робот

Как поставить значок в rails submit

Я использую Bootstrap и хочу поместить значок в кнопку отправки для формы.
вот код:

<%= f.submit "Submit for Approval <i class='icon-share-alt icon-white'></i>", 
                                class: "button_green" %>

Сгенерированный HTML:

<input type="submit" value="Submit for Approval &lt;i class='icon-share-alt icon-white'&gt;&lt;/i&gt;" name="commit" class="button_green">

Я попробовал добавить в текст как raw, так и html_safe, но ни один из них не работал.
Я знаю, что одно решение будет состоять в том, чтобы класс был образом с иконкой в ​​нем, но я хотел бы сделать это без создания дополнительных изображений /css. любые предложения?

4b9b3361

Ответ 1

Вы можете сделать это, используя вместо этого кнопку button_tag:

<%= button_tag( :class => "button_green") do %>
  Submit for Approval <i class="icon-share-alt icon-white"></i>
<% end %>

Это создаст элемент <button type="submit"></button> со значком и словом внутри. Я тестировал и работает. Действие по умолчанию для button_tag должно быть отправлено, поэтому, если вам нужно другое действие (например, отмена), вы можете использовать параметр :type => "button", чтобы переопределить поведение отправки по умолчанию.

Изменить: для Bootstrap 3 имена классов значков изменены, поэтому вы должны поставить

<span class="glyphicon-white glyphicon-share-alt white"></span>

Обратите внимание, что для белых значков больше нет специального класса. Просто создайте класс css .white и поставьте color: #fff;. Просто. Вы можете использовать любой стиль цвета или текста, который вам нравится, поскольку значки теперь являются шрифтом.

Связанный с нами вопрос: Добавить значок для отправки кнопки в Twitter Bootstrap 2 и Как изменить бутстрап 3 глификонов на белый?

Ответ 2

.button_green {
   background-image:url(...your image path...);
   background-repeat:no-repeat;
   padding-left:30px;
}

Вам может потребоваться отрегулировать отступ в соответствии с размером значка.