Sending AJAX Post Jquery in rails application
ajax, jquery, post, ruby-on-rails, ruby-on-rails-3
Solution
Try this out:
CoffeeScript
$ ->
$("h1").click ->
$.ajax({
type: "POST",
url: "/products",
data: { product: { name: "Filip", description: "whatever" } },
success:(data) ->
alert data.id
return false
error:(data) ->
return false
})
ES6-ified
$(() => $("h1").click(() => $.ajax({
type: "POST",
url: "/products",
data: { product: { name: "Filip", description: "whatever" } },
success(data) {
alert(data.id);
return false;
},
error(data) {
return false;
}
})));
Problem
With simple controller: ``` def new @product = Product.new respond_to do |format| format.html #new.html.erb format.json { render json: @product} end end def create @product = Product.new(params[:product]) respond_to do |format| if @product.save format.html { redirect_to @product, notice: "Save process completed!" } format.json { render json: @product, status: :created, location: @product } else format.html { flash.now[:notice]="Save proccess coudn't be completed!" render :new } format.json { render json: @product.errors, status: :unprocessable_entity} end end end ``` and simple ajax request ``` $("h1").click -> $.post url: "/products/" data: product: name: "Filip" description: "whatever" dataType: "json" success: (data) -> alert data.id ``` im trying to send new product but server answers [2013-07-09 18:44:44] ERROR bad URI `/products/[object%20Object]'. and nothing changes in database. Why instead of getting /products uri its taking prducts/[oobject] thing? Whats wrong there?