Hi friends,
As we all know, rails always encourages RESTful (REpresentational State Transfer) design for resources, that specifies standards for using different kind of requests. Rails also supports this. Thus if you are using RESTful, you would be using so many requests like PATCH, PUT and DELETE, besides the default Get and Post. So first begin with the use case of using different kind of requests.
patch : Used for updating an object partially, takes less bandwidth.
put : Used for updating the whole object.
delete : Used for removal of object.
Now the problem with these requests are that most of the browsers support only get and post. Rails fixed this problem by emulating other methods over POST with a hidden input named "_method". It tells the controller about which type of request is coming, even if the browser doesn't support them. For example if there is a form to update the user's entry and we need to use the patch request, the form will look like this:
form_tag(users_path, method: "patch")
It will produce the following HTML:
<form accept-charset="UTF-8" action="/users" method="post">
<input name="_method" type="hidden" value="patch" />
<input name="utf8" type="hidden" value="✓" />
<input name="authenticity_token" type="hidden" value="f755bb0ed3847345jg45jg4j48a6d4b7a7ddf2b71" />
</form>
For more blogs related to form helpers this click the link below:
Form Helpers in Rails
0 Comment(s)