Ну, я ничего не использовал, поэтому решил создать реальную простую функцию разделения, надеюсь, что это поможет:
DECLARE inipos INTEGER;
DECLARE endpos INTEGER;
DECLARE maxlen INTEGER;
DECLARE item VARCHAR(100);
DECLARE delim VARCHAR(1);
SET delim = '|';
SET inipos = 1;
SET fullstr = CONCAT(fullstr, delim);
SET maxlen = LENGTH(fullstr);
REPEAT
SET endpos = LOCATE(delim, fullstr, inipos);
SET item = SUBSTR(fullstr, inipos, endpos - inipos);
IF item <> '' AND item IS NOT NULL THEN
USE_THE_ITEM_STRING;
END IF;
SET inipos = endpos + 1;
UNTIL inipos >= maxlen END REPEAT;
Похоже, у вас есть проблема с вашими кавычками:
<%= button_to raw("<i class=\"icon-search icon-white\">Add To Cart</i>"),
line_items_path(product_id: product),
class: "btn btn-success" %>
Заключите ярлык кнопки в двойные кавычки, экранируйте двойные кавычки в вашем теге i
и, наконец, оберните все в raw()
вызов, чтобы убедиться, что HTML отображается правильно.
В качестве альтернативы вы можете использовать html_safe
:
<%= button_to "<i class=\"icon-search icon-white\">Add To Cart</i>".html_safe,
line_items_path(product_id: product),
class: "btn btn-success" %>
хорошее замечание от @jordanpg: у вас не может быть HTML в значении кнопки, поэтому его решение более подходящее и должно получить утвержденный статус. html_safe
часть остается в силе, хотя.
Я не уверен, как OP заставил это работать, но Rails button_to
генерирует элемент <input type='submit' />
, который не допускает HTML в поле значения.
См. Также: тип ввода = & quot; отправить & quot; Против тега кнопки они взаимозаменяемы?
Лучшая альтернатива в этой ситуации - заставить link_to
PUT (или POST):
<%= link_to raw("<i class=\"icon-search icon-white\">Add To Cart</i>"),
line_items_path(product_id: product),
class: "btn btn-success",
method: :put %>
Использование raw () или #html_safe все еще не работало для меня.
Я использую вспомогательный метод для создания контента button_to flag. Завершилось использованием следующего в моем вспомогательном методе (путь определен заранее):
form_tag path, :method => :post do
button_tag do
content_tag :i, 'Flag as inappropriate', :class => 'icon-flag flag_content'
end
end
Я использую этого помощника:
module ApplicationHelper
def glyph(*names)
content_tag :i, nil, class: names.map{|name| "icon-#{name.to_s.gsub('_','-')}" }
end
end
Пример:
glyph(:share_alt)
=> <i class="icon-share-alt"></i>
и
glyph(:lock, :white)
=> <i class="icon-lock icon-white"></i>
Эта работа для меня, (и с подтверждением сообщения)
<%= button_to "/home/delete?cardId="+card.id.to_s, data: { confirm:'Are you sure you want to delete?' } do %>
<i class="fa fa-times"></i>
<% end%>
это генерирует
<form class="button_to" method="post" action="/home/delete?cardId=15">
<button data-confirm="Are you sure you want to delete?" type="submit">
<i class="fa fa-times"></i>
</button>
</form>
Я использовал этот, и он прекрасно работает для меня:
<%= link_to(line_items_path(product_id: product),
method: :put,
class: 'btn btn-success') do %>
<%= content_tag('i', nil, class: 'icon-search icon-white') %> Add To Cart
<% end %>
Надеюсь, это поможет
Вы можете добавить значок в качестве дочернего элемента:
<%= button_to button_path, method: :delete do %>
<span class="glyphicon glyphicon-search"></span>
<% end %>
Используя Rails 4 и Bootstrap 3, ниже описано, как создать кнопку удаления, используя link_to
или button_to
.
Обратите внимание, что я использую Haml вместо Erb.
По вашему мнению:
- @users.each do |user|
= link_to content_tag(:i, ' Delete', class: "glyphicon glyphicon-trash"),
users_path(user),
class: "btn btn-danger",
method: :delete,
data: { confirm: "Delete user #{user.username}?" }
Вы также можете заменить часть content_tag
на
raw('<i class="glyphicon glyphicon-trash"> Delete</i>'),