閲覧いただきまして、誠にありがとうございます。
Ruby On Railsでユーザー同士が評価し合える機能を実装しようと考えています。評価されるユーザー(reviewed)、評価するユーザー(user, current_user)を紐づけるデータベースを作って保存できたのですが、これをviewで表示するのに苦戦しています。
画面は正常なのですが、何も反映されていません。
表示したいのは、評価されているユーザーのページでレビューです。
ソース
マイグレーションファイル
Ruby
1class CreateReviews < ActiveRecord::Migration[5.1] 2 def change 3 create_table :reviews do |t| 4 t.integer :rate 5 t.text :content 6 t.integer :user_id 7 t.integer :reviewed_id 8 9 t.timestamps 10 end 11 12 add_index :reviews, :user_id 13 add_index :reviews, :reviewed_id 14 add_index :reviews, [:user_id, :reviewed_id], unique: true 15 end 16end
ビュー(user/show)
Ruby
1 <div> 2 <p><%= image_tag "review.png" %> <%= @reviews.count %>件のレビュー</p> 3 <div class="review"> 4 <ul class="review_box"> 5 <%= render @reviews %> 6 </ul> 7 </div> 8 </div>
コントローラー
Ruby
1class UsersController < ApplicationController 2 def show 3 @user = User.find_by_id(params[:id]) 4 @reviews = @user.reviews.all 5 end 6end
find_by(params[:reviewed_id])とやってみてもダメでした。
あなたの回答
tips
プレビュー