Overriding html generated for submit_tag and selected links


Probably something simple, but I’m trying to change my submit_tag and
other buttons to CSS based buttons based on the article at

Basically this needs the following HTML markup:

Button Text

So, the question is how can I change the generated HTML (or better yet
create a helper) to allow me to spit this out for form actions and
some link_to’s, specifically the inner bit?

Any help would be appreciated as my google-fu has not been strong on
this one. I’m on rails 2.3.2.



Hi Steve,

Acutally, there are no way to do it for submit_tag & button_to, those
helpers should be totally rewritten to suport the markup you need. But
if you are building a modern unobtrusive app, then you don’t really
need the functionality of those helpers, so you can just replace them
with a custom helper that just generates the markup you need.

And cusomizing the link_to is quite easy:

def cool_link_to(title, url, options = {})
options[:class] ||= ‘’
options[:class] += ’ button’
link_to(content_tag(:span, title), url, options)

<%= cool_link_to “Edit”, ‘/edit/123’, :class => ‘some-other-class’

=> Edit</



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