Есть ли способ с помощью rails form helper создать тег кнопки для отправки - PullRequest
28 голосов
/ 12 февраля 2010

Я пытаюсь создать кнопки аля Wufoo ( Повторное обнаружение элемента кнопки )

Я хотел бы написать следующий код, подобный следующему:

<%form_tag search_path, :method => :get, :class => 'search' do %>
  <%=text_field_tag :search, params[:search] -%>
  <%=button_tag 'search', :name => nil-%>
<%end%>

Для генерации следующего HTML-кода (вместо тега input [type = "submit"])

<button type="submit" class="positive">
    <img src="/images/icons/tick.png" alt=""/> 
    Save
</button>

Метод уже существует? Или я должен свернуть своего помощника?

Ответы [ 3 ]

37 голосов
/ 12 февраля 2010

Вы можете использовать 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 голосов
/ 12 февраля 2010

Вы можете использовать помощник 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>

0 голосов
/ 18 августа 2011

Используйте JQuery Cheats Gem https://github.com/plowdawg/jquery_cheats и, по вашему мнению, это просто

<%= submitimage("/path/to/image.png","Alternate Text") %>

ПРИМЕЧАНИЕ: Альтернативный текст не является обязательным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...