Syntax with link_to using block, remote, parameters and class/id

Rails 3rc, Ruby 1.9.2

Newish to rails; very new to rails3

I’m trying to create a link using a block so I can wrap the name
contents in a span, for an ajax request using multiple parameters and
finally, also specifying the class and id of the generated link element.
Here’s what I’ve got so far:

<%= link_to(
:url=>{
:controller => ‘themes’, :action => ‘remove_tag’,
:entity_id => entity_id, :theme_id => theme_id,
:entity => entity, :element_id => element_id,
:parent_id=>parent_id
},
:remote => true,
:id => “theme-tag-#{entity}-#{entity_id}”,
:class => “tag”) do %>
<%= tag %>
<% end %>

This generates the following:

Test Descriptor

So, the href isn’t correct, no class or id attributes as they’re being
treated like parameters instead, and normally with :remote=>true, I’d
expect to see data-remote=true in the element. Also, and this is just my
desire to learn more about why… but a link_to without a block would be
something like link_to “Link Name”, {url_stuff…}, :remote=>true,
:class=“my-class”, :id=>“1” and so on, and these all work, but why do I
have to specify the :url=> when using the block, but not otherwise? It
just seems there’s a significant syntactical difference between the two
and I don’t understand why there would be and I’d like to. Thanks.

Bill

change :url to url_for

yeah, you were passing a hash and not a helper method

On Thu, Sep 9, 2010 at 11:39 AM, William K. Hatch Jr. <

On Sep 9, 2010, at 11:28 AM, radhames brito wrote:

change :url to url_for

Thanks, that did it. Man, that was most frustrating;-)

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs