form_tag remote true not processing as json request rails 5

rails remote: true not working
rails ajax form submit without refresh
remote: true rails
rails ajax not working
rails 5 ajax render partial
rails ajax get data from controller
rails remote form spinner
rails simple_form_for remote: true

I have a form in my application as this

<%= form_tag(studios_path, method: :get, id: "studios_filter", remote: true) do %>

<% end %>

in my application.js, i have this

//= require jquery
//= require jquery_ujs
//= require rails-ujs
//= require jquery3
//= require turbolinks
//= require cocoon
//= require bootstrap
//= require_tree .

Both somehow whenever this form is submitted, i get it as this

Started GET "/studios?utf8=%E2%9C%93&workout_category_id_list=&neighbourhood_list=Kuala+Lumpur&studio_id_list=" for 127.0.0.1 at 2018-12-28 12:42:12 +0800
Processing by StudiosController#index as HTML

It is processing as HTML instead of processing as JSON since remote: true is already added.

Any ideas as to why this happening. Running out of options

As per the description mentioned in the post it seems like you are concerned with the expected request type("json") not being sent over the controller.

So, for it work as mentioned in the post, change the code as below:

<%= form_tag(studios_path, method: :get, id: "studios_filter", remote: true, :html => {:'data-type' => 'json'}) do %>

This will be processing the request as json type.

How to Use remote: true to Make Ajax Calls in Rails, It does not, however, fully explain how remote: true works in tandem with The Rails docs provide several helpful examples of adding the helper to form_for, form_tag, To check that the remote: true request is working, insert a debugger The above instructs the controller's create action to return a JSON  Get parameters JSON Rails. I am having this POST request: form_tag remote true not processing as json request rails 5 December 2018 .

since you are using method: :get in your form, all the form values get appended to the studios_path, you must use this method aspost and change the method in routes to post. After that you will start getting all the form fields in your controller as a hash

Working with JavaScript in Rails, 3.2 form_tag. form_tag is very similar to form_for . It has a :remote option that you can use like this:  This can be done by working with AJAX within your Rails application. In the traditional Rails blog example where you have users, posts and comments, you may want to use : remote = > true to add comments to posts without having to refresh the page. This can be accomplished in a few simple steps. 1. Add :remote => true to Your Form

I struggled with the same issue: Rails 5 was processing my remote: true form submits as HTML no matter what I did. The solution for me was to add

//= require jquery_ujs

to application.js. OP already has this in their file above, which is what made me give it a try. Not sure why OP is still having issues, but this solved it for me ... so maybe this'll solve it for others!

Form with remote = true still being processed as text/html · Issue , Rails 3.1.10. The includes are working - this is in the head: I have remote => true in the form_for: <%= form_for(@attachment but Jake is right. You just need to specifically request and specify a json or js request and response. @archonic archonic closed this on Jul 5, 2016 No one assigned. Labels. A few notes from building a React Front-end with Rails API on the same stack, with basic CRUD functionalities, and uploading it to Heroku. -T flag to tell the Rails project generator not include…

How to Use AJAX With Ruby on Rails, Rails can handle it for you. How? Use the remote: true option with form_for . Here's an example: form_tag, form_for, form_with… Which one should I use? (pixabay.com)form_tag and form_for are soft deprecated and they will be replaced by form_with in the future. If you want to know more about form_with then you can peruse the original DHH’s proposal, check the pull request in which it was implemented, check the API documentation and play with it in a test project.

:remote => true in Rails Forms, This can be done by working with AJAX within your Rails application. 5. 6. 7. 8. 9. 10. <%= form_for [@post, Comment.new], :remote => true do |f| %> However, this information will not automatically be rendered by the browser. format.json { render :show, status: :created, location: @comment }. else. As you can see, our Rails app receives the GET request we sent from the terminal and then responds with the string we provided in the controller. The app uses the request’s URI and Method to figure out which controller and action to call. Next we’ll make a POST request with a data payload. Again, we use “X” to specify the method.

jQuery UJS and AJAX (Example), You can generate these data attributes using Rails form, form_tag and link_to helpers by "data-type": Set Ajax request type for "data-remote" requests response, or whatever) and handling all the Javascript/Jquery stuff in your client-​side assets. I'm looking to improve the js debugging in Rails 5 with this pull request: Working with JavaScript in RailsThis guide covers the built-in Ajax/JavaScript functionality of Rails (and more); it will enable you to create rich and dynamic Ajax applications with ease!After reading this guide, you will know: The basics of Ajax. Unobtrusive JavaScript. How Rails' built-in helpers assist you. How to handle Ajax on the server side. The Turbolinks gem. How to include your

Comments
  • Provided the method isn't incompatible, remote: true will set the format of the request to JS and not JSON.