人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Rails2.3で、ItemとRelevantという2つのモデルを使い、商品レコメンド機能を実装します。レコメンドは、両方のItemを購入しているユーザ数が多いパターンを上位から10件の表示とします。

▼itemsテーブル設定
t.string :name #item名

▼relevantsテーブル設定
t.integer :from_id #基準となるItem.id
t.integer :to_id #レコメンドするItem.id
t.integer :counter #両方のItemを購入しているユーザ数

▼items_controller.rb内
def show
@item = Item.find(params[:id])
@counters = Relevant.find_by_sql(["select * from relevants inner join items where relevants.to_id = items.id and relevants.from_id = ? order by relevants.counter desc limit 10", @item])
end

▼show.html.erb内
<% @counters.each do |counter| -%>
・<%=link_to h(counter.name), {:action => :show, :id => counter} %></>(<%=h counter.counter %>人)</br>
<% end -%>

上記でやりたいことは実現したのですが、モデルに関連性定義をして「Rails的に」実現したいです。どなたか方法を教えてください。

●質問者: gets_itai
●カテゴリ:ウェブ制作
✍キーワード:.fr @IT def HTML name
○ 状態 :キャンセル
└ 回答数 : 1/1件

▽最新の回答へ

1 ● IlO10l0Il

http://blog.y-110.net/log/eid130.html

こちらが参考になると思います。

◎質問者からの返答

↑わざとですか? 勘弁してください

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ