Question

Ma recherche normale dans la page Liste ActiveScafold ne fonctionne pas.

J'ai la table listLocations qui a des champs id | list_id | wiki_location_id. J'ai suivi des relations modèles

       class List < ActiveRecord::Base
         validates_presence_of :name
         has_many :list_locations, :dependent => :destroy
       end


       class WikiLocation < ActiveRecord::Base
         has_many :list_locations, :dependent => :destroy
       end

       class ListLocation < ActiveRecord::Base
         belongs_to :list
         belongs_to :wiki_location

         def wiki_location_title
           WikiLocation.find(wiki_location_id).title if wiki_location_id
         end

         def wiki_location_title= (title)
           wiki_location = WikiLocation.find_by_title(title)
           self.wiki_location_id = wiki_location.id if wiki_location
         end
       end

mon contrôleur pour ceux-ci sont

      class Admin::ListsController < Admin::AdminController
        active_scaffold :list do |conf|
          conf.columns = [:name, :list_order, :enabled]
          conf.columns[:enabled].form_ui = :checkbox 
          conf.columns[:enabled].inplace_edit = true
          list.sorting = {:list_order => 'asc'}
        end
      end


      class Admin::WikiLocationsController < Admin::AdminController
        active_scaffold :wiki_location do |conf|
          conf.columns = [:title, :street]
          list.per_page = 10
        end
      end 


     class Admin::ListLocationsController < Admin::AdminController  
       active_scaffold :list_location do |conf|
         conf.columns = [:list, :wiki_location]
         conf.columns[:list].form_ui = :select
         conf.search.columns << :list
       end
     end

J'ai aussi mis en œuvre la recherche de recherche que vous tapez (Sayt) pour le champ Wiki_Location dans la table List_Locations

Mes vues ressemblent à

Entrez la description de l'image ici

Entrez la description de l'image ici

J'ai implémenté la fonctionnalité automatique en suivant les instructions du lien spécifié ci-dessous ActiveScAfold Autocomplete

Maintenant, mon problème est quand j'utilise la recherche normale dans ma page de liste de Active Scanfold, je ne reçois aucun résultat

La requête que j'ai eu de ma console est

 SELECT `list_locations`.`id` AS t0_r0, `list_locations`.`list_id` AS t0_r1, 
 `list_locations`.`wiki_location_id` AS t0_r2, `list_locations`.`created_at` AS t0_r3,
 `list_locations`.`updated_at` AS t0_r4, `lists`.`id` AS t1_r0, `lists`.`name` AS t1_r1,
 `lists`.`list_order` AS t1_r2, `lists`.`enabled` AS t1_r3, `lists`.`created_at` AS 
  t1_r4, `lists`.`updated_at` AS t1_r5 FROM `list_locations` LEFT OUTER JOIN `lists` ON 
 `lists`.`id` = `list_locations`.`list_id` WHERE ((((`lists`.`id` LIKE '%museum%'))))
  ORDER BY `list_locations`.`id` ASC LIMIT 15 OFFSET 0

Il ressemble à sa recherche sur la liste.Id sur le champ au lieu de list.name

Pourquoi est-ce comme ça? Comment puis-je en faire la liste de recherche. Nom. J'ai aussi besoin de rechercher une colonne wiki_locations.title aussi. Comment cela peut-il être fait. S'il vous plaît aider.

Était-ce utile?

La solution

Try to set:

conf.columns[:list].search_sql = 'list.name'
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top