Reputation: 317
I do have a controller action
def create
@place = Place.new(place_params)
respond_to do |format|
if @place.save
format.json { render json: @place, status: :created }
end
end
and a form
div.col-sm-6
h1 Place
=form_for Place.new, remote: true do |f|
div
= f.label :address, class: 'label_hidden'
= f.text_field :address, class: "form-control"
div
= f.label :title, class: 'label_hidden'
= f.text_field :title, class: "form-control"
div
= f.label :longitude, class: 'label_hidden'
= f.text_field :longitude, class: "form-control"
div
= f.label :latitude, class: 'label_hidden'
= f.text_field :latitude, class: "form-control"
div
= f.submit 'Create', class: "btn btn-default"
so I need to get an ajax response. I ve tryed somth like this
$(document).ready ->
$("#new_place").on("ajax:success", (e, data, status, xhr) ->
console.log xhr.responseText
).on "ajax:error", (e, xhr, status, error) ->
console.log "ERROR"
But that does not work. Need some help on this
Upvotes: 0
Views: 23
Reputation: 102343
You need to set the form up so that Rails ujs sends the request for json
and not js
.
= form_for Place.new, data: { remote: true, type: 'json' } do |f|
Upvotes: 1