mirror of
https://github.com/fspc/BikeShed-1.git
synced 2025-02-28 16:53:23 -05:00
Modifed bikes create to use jbuilder & follow jsonapi.org
This commit is contained in:
parent
b88bf545d2
commit
14869cf8b6
@ -2,7 +2,7 @@ $('.btn').button();
|
|||||||
|
|
||||||
$("#add_bike_submit").click(function(){
|
$("#add_bike_submit").click(function(){
|
||||||
|
|
||||||
json_data = { bike: {
|
json_data = { bikes: [{
|
||||||
serial_number: $("#serial_number").val(),
|
serial_number: $("#serial_number").val(),
|
||||||
bike_brand_id: parseInt($("#bike_brand_id").val()),
|
bike_brand_id: parseInt($("#bike_brand_id").val()),
|
||||||
shop_id: parseInt($("#shop_id").val()),
|
shop_id: parseInt($("#shop_id").val()),
|
||||||
@ -12,15 +12,16 @@ $("#add_bike_submit").click(function(){
|
|||||||
bike_condition_id: parseInt($('input[name=bike_condition]:checked').val()),
|
bike_condition_id: parseInt($('input[name=bike_condition]:checked').val()),
|
||||||
bike_purpose_id: 1,
|
bike_purpose_id: 1,
|
||||||
bike_wheel_size_id: parseInt($("#bike_wheel_size_id").val()),
|
bike_wheel_size_id: parseInt($("#bike_wheel_size_id").val()),
|
||||||
}};
|
}]};
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: $("#add_bike_submit").data("url"),
|
url: $("#add_bike_submit").data("url"),
|
||||||
type: "POST",
|
type: "POST",
|
||||||
data: json_data,
|
data: JSON.stringify(json_data),
|
||||||
|
contentType: 'application/json',
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function(data, status, xhr){
|
success: function(data, status, xhr){
|
||||||
window.location = "/bikes/"+ data.bike.id;
|
window.location = data.bikes[0].href;
|
||||||
},
|
},
|
||||||
error: function(data, status ){
|
error: function(data, status ){
|
||||||
displayFormErrors(data.responseJSON);
|
displayFormErrors(data.responseJSON);
|
||||||
|
@ -5,17 +5,13 @@ class Api::V1::BikesController < Api::V1::BaseController
|
|||||||
before_filter :check_bike_permission
|
before_filter :check_bike_permission
|
||||||
|
|
||||||
def create
|
def create
|
||||||
if bike = params[:bike]
|
if params[:bikes] && bike = params[:bikes].first
|
||||||
|
@bike = Bike.new(bike)
|
||||||
b = Bike.new(bike)
|
if !@bike.save
|
||||||
if !b.save
|
render json: { errors: @bike.errors }, status: 422 and return
|
||||||
render json: { errors: b.errors }, status: 422 and return
|
|
||||||
else
|
|
||||||
render json: { bike: b.as_json }, status: 200 and return
|
|
||||||
end
|
end
|
||||||
|
|
||||||
else
|
else
|
||||||
render json: { errors: ["Expected bike in submitted data" ]}, status: 422 and return
|
render json: { errors: [EXPECTED_BIKE]}, status: 422 and return
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -18,6 +18,7 @@ Velocipede::Application.routes.draw do
|
|||||||
post 'reset' => "users#password_reset", :as => "api_password_reset"
|
post 'reset' => "users#password_reset", :as => "api_password_reset"
|
||||||
|
|
||||||
post 'bikes/create' => "bikes#create", as: "api_create_bike"
|
post 'bikes/create' => "bikes#create", as: "api_create_bike"
|
||||||
|
post 'bikes/:id' => "bikes#show", as: "api_bike"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user