Ответ 1
Благодаря ismaelga, я нашел этот SO вопрос.
Это решение:
<%= button_tag(type: 'submit', class: "btn btn-primary") do %>
<i class="icon-ok icon-white"></i> Save
<% end %>
У меня есть форма для кнопки like/unlike с использованием ajax:
= form_for like, :html => { :method => :delete}, :remote => true do |f|
= f.submit pluralize(@video.likes.count, 'like'), :class => "btn btn-warning btn-mini", "data-disable-with"=> "Just a moment..."
Форма отлично работает.
Я хотел бы добавить значок перед текстом в кнопку отправки. Код haml для добавления значка следующий (twitter bootstrap):
%i.icon-heart.icon-white
Есть ли способ добавить этот html к кнопке? Я попытался добавить его как простой html, но рельсы отображали его как текст.
UPDATE
Мне удалось инкапсулировать кнопку отправки в классе span, который содержит значок и соответствующий стиль. Теперь мне нужно удалить каждый стиль на кнопке...
%span.btn.btn-danger.btn-mini
%i.icon-heart.icon-white
= f.submit pluralize(@video.likes.count, 'like')
Благодаря ismaelga, я нашел этот SO вопрос.
Это решение:
<%= button_tag(type: 'submit', class: "btn btn-primary") do %>
<i class="icon-ok icon-white"></i> Save
<% end %>
Попробуйте это. Я не тестировал, но думаю, что можно сделать что-то вроде этого.
= f.submit :class => "btn btn-warning btn-mini", "data-disable-with"=> "Just a moment..." do
%i.icon-heart.icon-white
= pluralize(@video.likes.count, 'like')
end
Итак, это было возможно, если вы используете simple_form. Извините.
Итак, еще одна попытка -
= f.submit "#{pluralize(@video.likes.count, 'like')} <i class='icon-heart icon-white'/>".html_safe, :class => "btn btn-warning btn-mini", "data-disable-with"=> "Just a moment..."
Ответ Justin D тоже помог мне. Если вы приезжаете сюда из Google и ищете реализацию Slim, вы можете сделать это следующим образом:
= button_tag(type: 'submit', class: 'btn btn-default') do
span.glyphicon.glyphicon-floppy-disk>
| Save
end
Тонкие пользователи распознают необходимость >
.
Это работало для меня с Rails 4.1.5, Ruby 2.1.2 и bootstrap-sass 3.2 по состоянию на 24 сентября 2014 года.
Другим вариантом может быть button
вместо submit
см. документацию Rails Кнопка FormBuilder #
= f.button :class => "btn btn-warning btn-mini" do
%i.icon-heart.icon-white
= pluralize(@video.likes.count, 'like')
Soluction
= button_to('Add', line_item_path, method: :post , class: "btn btn-warning btn-lg" , params: { param1: 'value1', param2: 'value2' })
Пожалуйста, попробуйте приведенный ниже код. Он работает
<%= f.submit :class => "btn btn-success btn-mini" %>