今夜、Rails 3でスコープを使って遊んで、ラムダが何をするのか頭を悩ませようとしていますか?
この例で達成しようとしているのは、レシピモデルに関連付けられている国モデルから国名(:name)のリストを取得することです。レシピはcountry_to国に属し、国には多くのレシピがあります。
レシピに登場する回数の多いものから順に並べていきたいです。
だから私はレシピモデルでこれを試しています(または国モデル内でそれを行う必要がありますか?しかし、私の国モデルには世界のすべての国の1つのインスタンスが事前に入力されているため、それは機能しません)
scope :top_countries, lambda { joins(:countries).merge(Country.name).order("name DESC") }
ただし、このエラーメッセージが表示されます
undefined method `default_scoped?' for "Country":String
私のコントローラー
@toprankingcountry = Recipe.top_countries
明らかに私の理解は私が思ったものではなく、いくつかの指針/支援をいただければ幸いです
ありがとう