ユーザーはURLを送信できるアプリケーションを構築しています。特定のURLのうちどれだけがサイトに投稿されたのかを調べて、彼らが提出された回数で注文されたリストで。Railsの繰り返しエントリ数で並べ替え
アイデア? Rails 3.0.6を使用しています
ユーザーはURLを送信できるアプリケーションを構築しています。特定のURLのうちどれだけがサイトに投稿されたのかを調べて、彼らが提出された回数で注文されたリストで。Railsの繰り返しエントリ数で並べ替え
アイデア? Rails 3.0.6を使用しています
あなたは重複するURLを許可し、あなたはURLとユーザーの間でユニークなURLと結合表を持っている場合はどうあるべきかである(あなたがurl
列
Url.group(:url).select("urls.*,count(*) as num").order("num desc")
でUrl
クラスを持っていると仮定している場合):
Url.joins(:users).group("urls.id").select("urls.*, count(*) as num").order("num desc")
私がよく理解していれば、フォームを介してユーザから提出されたすべてのリンクを追跡したいと思います。
"url"(インデックスと単調性制約付き)と "count"(インデックス付き)という2つの列を持つsubmitted_urlsテーブルを使用できます。
新しいリンクを送信するときは、コントローラにそのURLがテーブルに存在するかどうかを確認させてください。それ以外の場合は作成し、そうでなければこのURLに関連付けられたカウンタをインクリメントします。
あなたのリンクを一覧表示するのは、このテーブルに注文( 'count DESC')句を指定するだけで簡単になり、リンクの総数を数えることはcount()の問題です。
私がよく理解できなかった場合は、サイトの分析ダッシュボードを実装する必要があることを意味します。なぜgoogle analyticsを使用しないのですか?
ありがとうございます - 少し異なる構文を使用しましたが、結果は正常です。 – wastedhours
このソリューションはPostgreSQL(または厳密なSQLを持つデータベース)では動作しません。生成されたSQLのselect句には、group_by句または集合関数にない値が含まれます。 – dkam
@dkam - あなたはそれを試しましたか? – klochner