Sha256: f2ff96517397ed86cc5a8ff723b4a4ccc1beb311c318a4edb4ba91efc6edc3a6
Contents?: true
Size: 1.67 KB
Versions: 1
Compression:
Stored size: 1.67 KB
Contents
module MetaModel module Meta class ModelsController < ApplicationController before_action :get_model, only: [:edit, :show, :update, :destroy] def index respond_to do |format| format.html { @hierarchy = Model.all.hierarchically } format.json { render json: Model.all } end end def hierarchy respond_to do |format| format.json { render json: Model.all.hierarchically } end end def show respond_to do |format| format.json do render json: @model end end end def edit @models = Model.all.order(:name) end def create model = Model.create(model_params) create_models render json: model end def update model_params.each do |key, value| @model.send("#{key}=", value) end @model.save create_models render json: @model end def destroy @model.destroy create_models render json: nil end private def get_model @model = if model_param_class_name Model.where(class_name: model_param_class_name).first end || Model.find(params[:id]) end def model_param_class_name if params[:id] @model_param_class_name ||= params[:id].classify end rescue NameError end def model_params superclass_model = params[:model].delete(:superclass_model_id) params.require(:model).permit(:class_name, :superclass_model).merge(superclass_model: superclass_model) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
neo4j-meta_model-0.0.1 | app/controllers/meta_model/meta/models_controller.rb |