Есть ли способ с помощью рельсов создать хелпер для создания тега кнопки для отправки
Я пытаюсь создать кнопки ala Wufoo (Заново открыть элемент кнопки)
Я хотел бы написать следующий код следующим образом:
<%form_tag search_path, :method => :get, :class => 'search' do %>
<%=text_field_tag :search, params[:search] -%>
<%=button_tag 'search', :name => nil-%>
<%end%>
Чтобы создать следующий HTML (вместо тега ввода [type = "submit" ]
<button type="submit" class="positive">
<img src="/images/icons/tick.png" alt=""/>
Save
</button>
Существует ли метод? Или я должен бросить своего помощника?
Ответы
Ответ 1
Вы можете использовать content_tag для достижения этого. Это более рельефный способ делать то, что вы хотите. Но это больше, чем необработанный HTML.
<% content_tag :button :type => :submit, :class => :positive do %>
<%= image_tag "icons/tick.png"%>
Save
<% end %>
Что производит
<button type="submit" class="positive">
<img src="/images/icons/tick.png" alt="Tick"/>
Save
</button>
Однако, используя это как отправную точку, у вас не должно возникнуть проблемы с переводом собственного надежного помощника или абстрагированием его до частичного.
Ответ 2
Вы можете использовать image_submit_tag помощник для создания тега отправки изображения, а не обертывание всего объекта кнопкой:
<%
image_submit_tag("login.png")
# => <input src="/images/login.png" type="image" />
image_submit_tag("purchase.png", :disabled => true)
# => <input disabled="disabled" src="/images/purchase.png" type="image" />
image_submit_tag("search.png", :class => 'search-button')
# => <input class="search-button" src="/images/search.png" type="image" />
%>
Возможно, это не то, что вы ищете, если вам нужно, чтобы текст "Сохранить" отображался над <img>
Ответ 3
Используйте JQuery Cheats Gem https://github.com/plowdawg/jquery_cheats и, на ваш взгляд, это просто
<%= submitimage("/path/to/image.png","Alternate Text") %>
ПРИМЕЧАНИЕ. Альтернативный текст необязателен.