Ich möchte sogar die Spalten des Modells durchsuchen, die sich auf ein Modell beziehen (verschachtelt)
Insbesondere möchte ich nicht nur den Geschäftsnamen des Geschäfts für gebrauchte Kleidung suchen, sondern auch den Bereichsnamen (eins zu viele) und den Markennamen (viele zu viele).
** Geben Sie als Elementnamen des Formular-Tags "verwandter Modellname_bezogener Modellspaltenname" an **
Wenn Sie beispielsweise den Bereichsnamen des dem Geschäftsmodell zugeordneten Bereichsmodells als Suchbedingung verwenden möchten.
= f. Formularhelfer: Sei
Elementname des Elementnamens
Bereichsbereichsname_cont`.
Bei Demontage Bereich → Zugehöriger Modellname Name → Spaltenname des zugehörigen Modells cont → Prädikat, das eine teilweise Übereinstimmung angibt
Es wird sein.
= search_form_for(@q, url: shop_search_path) do |f|
= f.text_field :area_name_cont
#Bereichsname des Bereichsmodells, das dem Geschäftsmodell zugeordnet ist(name)
Zum Beispiel, wenn Sie den Markennamen des mit dem Shop-Modell verknüpften Markenmodells als Suchbedingung verwenden möchten.
= f. Form Helper: Sei
Elementname des Elementnamens
Markenname_cont`.
Bei Demontage Marken → Zugehöriger Modellname * shop has_many: Marken, also Plural Name → Spaltenname des zugehörigen Modells cont → Prädikat, das eine teilweise Übereinstimmung angibt
Es wird sein.
= search_form_for(@q, url: shop_search_path) do |f|
= f.text_field :brands_name_or_genres_name_cont
#Markenname des mit dem Geschäftsmodell verknüpften Markenmodells(name)
#Genre-Name des Genre-Modells, das dem Shop-Modell zugeordnet ist(name)
#* Beachten Sie, dass bei mehreren verknüpften Modellen der Modellname Plural ist.
Übrigens können Sie mehrere Spalten durchsuchen, indem Sie Spaltennamen mit _or_
usw. verbinden.
Informationen zur tatsächlichen Verwendung von Ransack finden Sie in Artikeln wie [Rails] - Zusammenfassung der verschiedenen Methoden zur Erstellung von Suchformularen mit Ransack.
shop.rb
#Ladenmodell
belongs_to :area, optional: true
has_many :shop_genres
has_many :shop_brands
has_many :genres, through: :shop_genres
has_many :brands, through: :shop_brands
area.rb
#Flächenmodell
has_many :shops
brand.rb
#Markenmodell
has_many :shop_brands
has_many :shops, through: :shop_brands
shop_brand.rb
# shop_Markenmodell
belongs_to :shop
belongs_to :brand
shop_genre.rb
# shop_Genre-Modell
belongs_to :shop
belongs_to :genre
Es ist zweckmäßig, eine Methode namens "ransackable_associations" zu verwenden.
** 1. Schienen c ** im Anwendungsverzeichnis
terminal
#Führen Sie das entsprechende Anwendungsverzeichnis aus
$ rails c
Running via Spring preloader in process 61541
Loading development environment (Rails 5.0.7.2)
[1] pry(main)>
** 2. Führen Sie model name.ransackable_associations
aus **
terminal
#Dieses Mal möchte ich die Beziehung zum Shop-Modell untersuchen, also Shop.ransackable_Wenn Sie Assoziationen sagen
Das dem Shop-Modell zugeordnete Modell wird angezeigt
[1] pry(main)> Shop.ransackable_associations
=> ["user", "area", "shop_genres", "shop_brands", "genres", "brands"]
[2] pry(main)>
[73 Rezepte zum einfachen Erstellen eines Suchformulars mit Ransack -026-Bezug](http://nekorails.hatenablog.com/entry/2017/05/31/173925#026-%E9%96%A2%E9%80% A3) So durchsuchen Sie mehrere Spalten in übergeordneten und untergeordneten Tabellen mit Ransack
Recommended Posts