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(){
|
||||
|
||||
json_data = { bike: {
|
||||
json_data = { bikes: [{
|
||||
serial_number: $("#serial_number").val(),
|
||||
bike_brand_id: parseInt($("#bike_brand_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_purpose_id: 1,
|
||||
bike_wheel_size_id: parseInt($("#bike_wheel_size_id").val()),
|
||||
}};
|
||||
}]};
|
||||
|
||||
$.ajax({
|
||||
url: $("#add_bike_submit").data("url"),
|
||||
type: "POST",
|
||||
data: json_data,
|
||||
data: JSON.stringify(json_data),
|
||||
contentType: 'application/json',
|
||||
dataType: "json",
|
||||
success: function(data, status, xhr){
|
||||
window.location = "/bikes/"+ data.bike.id;
|
||||
window.location = data.bikes[0].href;
|
||||
},
|
||||
error: function(data, status ){
|
||||
displayFormErrors(data.responseJSON);
|
||||
|
@ -5,17 +5,13 @@ class Api::V1::BikesController < Api::V1::BaseController
|
||||
before_filter :check_bike_permission
|
||||
|
||||
def create
|
||||
if bike = params[:bike]
|
||||
|
||||
b = Bike.new(bike)
|
||||
if !b.save
|
||||
render json: { errors: b.errors }, status: 422 and return
|
||||
else
|
||||
render json: { bike: b.as_json }, status: 200 and return
|
||||
if params[:bikes] && bike = params[:bikes].first
|
||||
@bike = Bike.new(bike)
|
||||
if !@bike.save
|
||||
render json: { errors: @bike.errors }, status: 422 and return
|
||||
end
|
||||
|
||||
else
|
||||
render json: { errors: ["Expected bike in submitted data" ]}, status: 422 and return
|
||||
render json: { errors: [EXPECTED_BIKE]}, status: 422 and return
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -18,6 +18,7 @@ Velocipede::Application.routes.draw do
|
||||
post 'reset' => "users#password_reset", :as => "api_password_reset"
|
||||
|
||||
post 'bikes/create' => "bikes#create", as: "api_create_bike"
|
||||
post 'bikes/:id' => "bikes#show", as: "api_bike"
|
||||
end
|
||||
end
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user