Class: ChinaRegions::FetchOptionsController

Inherits:
ActionController::Metal
  • Object
show all
Defined in:
app/controllers/china_regions/fetch_options_controller.rb

Instance Method Summary collapse

Instance Method Details

#indexObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'app/controllers/china_regions/fetch_options_controller.rb', line 5

def index
  if params_valid?(params) && (parent_klass = params[:parent_klass].classify.safe_constantize.find(params[:parent_id]))
    table_name = params[:klass].tableize
    regions = parent_klass.__send__(table_name).select("#{table_name}.id, #{table_name}.name")
    regions = if level_column?(params[:klass])
      regions.order('level ASC')
    else
      regions.order('name ASC')
    end
  else
    regions = []
  end

  self.response_body = regions.to_json
end