Ruby on Rails - link_to button / css
link_to
generates a <a>
tag, which is not input type="submit"
. What you should use should be a button_to
, which generates a form with a input type="submit"
button to the link:
<%= button_to "Add", new_admin_course_path, :id => "open-contacts-dialog-btn", :class => "inbox-sf-add-btn tip", :method => :get %>
Note the :method => :get
. Without it, the button_to
will generate a form with method set to post.
I recently had to do this because my form was acting differently for link_to than it was with button_to and I needed the functionality the link provided. The best solution I found does not use CSS at all but instead calls .html_safe to escape the html in the ruby code and properly display the link as a button. What you want to do is this:
<%= link_to "<button>Add</button>".html_safe, new_admin_course_path, :id=>"open-contacts-dialog-btn", :class=>"inbox-sf-add-btn tip" %>
But it is not adding my CSS styling
What do you mean? The link (a
element) with classes inbox-sf-add-btn
and tip
is generated, right? So, what's the problem?
If you want strictly button (input
element instead of a
), you can specify /book/new
(or <%= new_admin_course_path %>
) in the action
attribute of your html form (form
element).