Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I wrap link_to around some html ruby code?

link_to takes a block of code ( >= Rails 2.2) which it will use as the body of the tag.

So, you do

<%= link_to(@album) do %>
  html-code-here
<% end %>

But I'm quite sure that to nest a div inside a a tag is not valid HTML.

EDIT: Added = character per Amin Ariana's comment below.


Also, this may be an issue for some:

Make sure to write <%= if you are doing a simple link with code in it instead of <%.

e.g.

<%= link_to 'some_controller_name/some_get_request' do %>
  Hello World
<% end  %>

For older Rails versions, you can use

<% content_tag(:a, :href => foo_path) do %>
  <span>Foo</span>
<% end %>

You can use link_to with a block:

<% link_to(@album) do %>
    <!-- insert html etc here -->
<% end %>