act_as_votableを利用し、いいねボタンを実装しました。そしてそのいいねが多い順に表示したいのですが、
①songsテーブルにlikesカラム(いいねの数を数えるカラム)を追加する②find_by_sql("SELECT * FROM songs order by likes DESC")で並び替えるということで実現できると思い、likesカラムを追加しました。
しかし、そのlikesカラムにいいねの数を追加するという作業がどうしたらいいのか
わかりません。(likesカラムといいねの数を紐付ける)
現状は単純にlikesカラムを追加しただけです。likesカラムにいいねの数のデータをいれるにはどうしたらいいのでしょうか?
def index if params[:user_id] @user = User.find(params[:user_id]) @songs = @user.songs.find_by_sql("SELECT * FROM songs order by likes DESC") else @songs = Song.all.find_by_sql("SELECT * FROM songs order by likes DESC") end end
create_table "songs", force: true do |t| t.string "title" t.text "body" t.datetime "created_at" t.datetime "updated_at" t.integer "user_id" t.integer "get_upvotes"
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。