class Blade::Setting::ModelTemplate
Public Class Methods
model_template(model_class)
click to toggle source
# File lib/blade/setting/model_template.rb, line 10 def model_template(model_class) model = model_class.name arg1 = model_class.name.downcase args = arg1.pluralize model_columns = model_class.columns.map(&:name) model_columns_key = model_columns.map(&:to_sym) belongs_association = [] model_columns.each do |column| if (column.include?("_id")) belongs_model = column.split("_id")[0] begin if ActiveSupport::Dependencies.constantize(belongs_model.classify).present? belongs_association.push "belongs_to :#{belongs_model}" end rescue => e next end end end model_file = <<-file class #{model} < ApplicationRecord include BaseModelConcern #{render_belongs_to(belongs_association)} class << self def create_by_params(params) #{arg1} = nil response = Response.rescue do |res| user = params[:user] create_params = params.require(:create).permit! # 验证必填参数 must_params = params.require(:create).values res.raise_error("缺少参数") if #{model}.validate_blank?(must_params) #{arg1} = #{model}.new(create_params) #{arg1}.save! end return response, #{arg1} end def update_by_params(params) #{arg1}= nil response = Response.rescue do |res| user = params[:user] #{arg1}_id = params[:#{arg1}_id] res.raise_error("缺少参数") if #{arg1}_id.blank? update_params = params.require(:update).permit! #{arg1} = #{model}.find(#{arg1}_id) res.raise_data_miss_error("#{arg1}不存在") if #{arg1}.blank? #{arg1}.update_attributes!(update_params) end return response, #{arg1} end def query_by_params(params) #{args} = nil response = Response.rescue do |res| page, per, search_param = params[:page] || 1, params[:per], params[:search] search_param = {} if search_param.blank? #{args} = #{model}.search_by_params(search_param) if per.present? #{args} = #{args}.page(page).per(per) end end return response, #{args} end def delete_by_params(params) #{arg1} = nil response = Response.rescue do |res| #{arg1}_id = params[:#{arg1}_id] res.raise_error("参数缺失") if #{arg1}_id.blank? #{arg1} = #{model}.find(#{arg1}_id) res.raise_data_miss_error("#{model}不存在") if #{arg1}.blank? #{arg1}.destroy! end return response end end end file return model_file end
render_belongs_to(belongs)
click to toggle source
# File lib/blade/setting/model_template.rb, line 6 def render_belongs_to(belongs) belongs.join("\n"); end