Ask A Question


You’re not receiving notifications from this thread.

Rails Button_tag not submitting edit form, but submits new form

Alan Reid asked in Rails

I am using the following to submit my form when creating a product.

<%= button_tag("Create", type: "submit", form: 'new_product') %>

However, the issue I am facing is that when I try to do the same for editing a product, the form does not submit at all.

<%= button_tag("Create", type: "submit", form: 'edit_product') %>

My question is, what am I missing from this not to submit the edit form? I mean when I press the button, nothing happens at all. haha

I know there's bound to be simple answer thanks in advance


Hey Alan,

Are you using this button outside the <form> tags?

Check out

You'll need your form to have an ID and use that in your button form: 'form_id'

Looks like there may be some issues in IE with it though, so you may consider a JS solution if you need to support IE older than Edge.


Yeah its outside the form tag.
You made me look at it again, and the form is using the ID of the item!

So doing the following fixes the issue!

<%= button_tag("Create", type: "submit", form: 'edit_product_3') %>


You may consider setting a fixed ID to the form so its always the same. You may have issues if your form is now edit_product_4 but your button was hard coded to edit_product_3 unless you're dynamically setting the form: option as well to account for that.


yeah I set the form using form: 'edit_product_' + params[:id] cheers as always mate :D



Cheers!! :)


Oh neat, so you can have a button_to that submits a specific form?

I had always used it to have it submit a POST to a URL instead. Today I learned. 👍🧐


Yeah, I hated having it all in the form so start to mess around. I found the button_tag element could be attached to a form essentially so i can put the button anywhere on the page. It was just this edit issue i had which stumpped me haha.

So happy to get it all working now :D can finish this app off and move on to the next version :D


Aye, if you check the docs (under the options section) you'll see it will pass any additional options as regular tags which is really snazzy.

The biggest down side is IE compatability (who'd a thunk?) - so you'll still want a fallback solution if you need to support IE 11 or older.


yeah its really cool, i will look to use it on some other bits too i think. It will be a nice solution.

IE haha, I am counting the days til its axed :D I wonder how MS will mess up Chrome though haha


They're supposed to start using Chromium in the future, so we might have browser compatibility after all in the future! how weird will that be??


fingers crossed they dont mess too much, could be a decent browser. I wish Google would reduce the resources used though, still a beast of a browser.

Join the discussion
Create an account Log in

Want to stay up-to-date with Ruby on Rails?

Join 84,111+ developers who get early access to new tutorials, screencasts, articles, and more.

    We care about the protection of your data. Read our Privacy Policy.