Sha256: 8c03c793599ea268f061180111ca12dc2b16b287ef84dde5b43fbed9900917a8
Contents?: true
Size: 1.61 KB
Versions: 16
Compression:
Stored size: 1.61 KB
Contents
module Spree module Api class TaxonomiesController < Spree::Api::BaseController def index @taxonomies = paginate(taxonomies) respond_with(@taxonomies) end def new end def show respond_with(taxonomy) end # Because JSTree wants parameters in a *slightly* different format def jstree show end def create authorize! :create, Taxonomy @taxonomy = Spree::Taxonomy.new(taxonomy_params) if @taxonomy.save respond_with(@taxonomy, status: 201, default_template: :show) else invalid_resource!(@taxonomy) end end def update authorize! :update, taxonomy if taxonomy.update_attributes(taxonomy_params) respond_with(taxonomy, status: 200, default_template: :show) else invalid_resource!(taxonomy) end end def destroy authorize! :destroy, taxonomy taxonomy.destroy respond_with(taxonomy, status: 204) end private def taxonomies @taxonomies = Taxonomy. accessible_by(current_ability, :read). order('name'). includes(root: :children). ransack(params[:q]). result end def taxonomy @taxonomy ||= Spree::Taxonomy.accessible_by(current_ability, :read).find(params[:id]) end def taxonomy_params if params[:taxonomy] && !params[:taxonomy].empty? params.require(:taxonomy).permit(permitted_taxonomy_attributes) else {} end end end end end
Version data entries
16 entries across 16 versions & 1 rubygems