Rails 3 - link_to с image_tag + текст

<%= link_to ((image_tag 'image.png'), 
        url_for({:controller => 'controller_name', :action => 'action_name'}), 
            :class => 'quick', 
            :remote => true) %>

Эта часть кода будет генерировать меня image.png в качестве ссылки. Мне нужно к этому изображению добавить текст (изображение + текст), я пробовал что-то вроде:

<%= link_to ((image_tag 'image.png', 'text'), 
        url_for({:controller => 'controller_name', :action => 'action_name'}), 
            :class => 'quick', 
            :remote => true) %>

И аналогичными способами, но каждая из этих попыток заканчивалась сообщением об ошибке о плохом синтаксисе... Может кто-нибудь помочь мне, пожалуйста, как мне правильно это настроить?

Заранее спасибо.

5 ответов

Решение

Попробуй это.

<%= link_to image_tag('/images/image.png') + "some extra text", url_for({:controller => 'controller_name', :action => 'action_name'}), :class => 'quick', :remote => true %>

Немного более сексуальное решение?

<%= link_to image_tag("image.png", :alt => "Image Description", :class => "css"), root_path %>

Попробуй это:

<%= link_to (image_tag('image.png') + text, 
        url_for({:controller => 'controller_name', :action => 'action_name'}), 
            :class => 'quick', 
            :remote => true) %>

Первым аргументом является текстовая часть, и с помощью image_tag вы создаете HTML, но вы можете легко добавлять вещи.

Я использовал следующее, и это работает просто отлично:

<%= link_to image_tag("logo.jpg"), controller: 'welcome' %>

Я знаю, что уже слишком поздно, но, возможно, кто-то пытается найти ответ, так что. Правильный ответ:

      <%= link_to image_tag(product.image_url), line_items_path(product_id: product), method: :post, remote: true %>

В этом случае нам нужно указать, какое именно действие мы хотим выполнить, нажав на это изображение, если мы используем помощник button_to, нам не нужно указывать действие, но помощник кнопки не поддерживает теги изображения

Другие вопросы по тегам