Class: Concepts::AlphabeticalController
- Inherits:
-
ConceptsController
- Object
- ConceptsController
- Concepts::AlphabeticalController
- Includes:
- DatasetInitialization
- Defined in:
- app/controllers/concepts/alphabetical_controller.rb
Direct Known Subclasses
Instance Method Summary collapse
Methods included from DatasetInitialization
#datasets_as_json, #init_datasets
Instance Method Details
#index ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'app/controllers/concepts/alphabetical_controller.rb', line 22 def index :read, Concept::Base redirect_to(url_for :prefix => "a") unless params[:prefix] datasets = init_datasets if dataset = datasets.detect {|dataset| dataset.name == params[:dataset] } @search_results = dataset.alphabetical_search(params[:prefix], I18n.locale) || [] @search_results = Kaminari.paginate_array(@search_results).page(params[:page]) else @search_results = find_labelings # When in single query mode, AR handles ALL includes to be loaded by that # one query. We don't want that! So let's do it manually :-) includes = Iqvoc::Concept.base_class.default_includes if Iqvoc::Concept.note_classes.include?(Note::SKOS::Definition) includes << Note::SKOS::Definition.name.to_relation_name end ActiveRecord::Associations::Preloader.new(@search_results, :owner => includes).run @search_results.map! { |pl| AlphabeticalSearchResult.new(pl) } end respond_to do |format| format.html { render :index, :layout => with_layout? } end end |