0
を変更collection_select I持ってこれは、例えば、ドロップダウンリストで、現在のユーザー(cur_username)でアクセスしているサイト名を一覧表示しますRailsはビューの1(ERB)で出力
collection_select(:wp_article, :wp_site_id, WpSite.find_by_sql(["SELECT wp_sites.* FROM wp_sites, users_wp_sites, users WHERE users_wp_sites.user_id = users.id and users_wp_sites.wp_site_id = wp_sites.id and username= ?", session[:cur_username]]), :id, :name,
{:prompt => true})
次のコード
Google.com
Facebook.com
Twitter.com
は今、私はこのように、ユーザーが同じドロップダウンリストで、これらのサイトにアクセスした回数を表示する必要があります。
Google.com (32)
Facebook.com (68)
Twitter.com (21)
サイト名とともにカウントを含めるようにクエリを変更するにはどうすればよいですか? (上記の同じクエリ内のサブクエリでカウントを取得する方法を知っていますが、サイト(:name)の名前とカウント(サブクエリで取得する新しいカウント)をドロップダウンする方法を知らない。一つの完全な文字列としてリスト)
あなたは単にActiverecordを使用しないでください。そして、あなたは 'acessible_sites.each {| site | "#{site.name}(#{site.visits})'やそれに影響するものを置く。このfind_by_sql行は醜いので、レールを利用したり、レールを守っているようには見えない。 – Batkins
@Batkinsカウント(「ユーザーがこれらのサイトにアクセスした回数」)は絶えず変化するため、実行時に動的に取得する必要があります。 – Usering