前提・実現したいこと
railsの練習でダイエットサイトを作成しております。
userの一覧ページにuserの最新の体重を表示したいです。
テーブルとしては、userモデル,body_weightsモデル,diariesモデルとそれぞれ関連付しており、
体重はbody_weightsテーブルにweight_recordカラムとしてあり、最新の日付はdiariesテーブルのcreated_onカラムの一番日付が新しい日付を現在の体重として持ってきたいです。
教えて頂けますでしょうか。
該当のソースコード
<div class="row"> <% @users.each do |user| %> <div class="col-xs-3"> <div class="profile"> <%= link_to user_path(user) do %> <%= attachment_image_tag user, :profile_image, size: "100x100", class: "img-circle", fallback: "no_image.jpg" %><br> <%= user.name %> <% end %> <p> フォロー:<%= link_to user.follower.count, user_relationships_path(user_id: user.id, index: "follower") %> フォロワー:<%= link_to user.followed.count, user_relationships_path(user_id: user.id, index: "followed") %> </p> <p><%= user.rank_status %>ランク(<%= user.rewards.total_point %>point)</p> <% if user.public_status == "公開" %> <p>身長<%= user.height %>cm <!-- ここに最新の体重を表示したい --> 体重<%= user. %>Kg</p> <p>目標体重<%= user.goal_weight %>Kg</p> <% end %>
class UsersController < ApplicationController # ログイン済みユーザーにのみアクセスを許可する(deviseのメソッド) before_action :authenticate_user!, except: [:index, :show] def index @users = User.all @users = User.page(params[:page]).reverse_order end
class User < ApplicationRecord # Include default devise modules. Others available are: # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable devise :database_authenticatable, :registerable, :recoverable, :rememberable, :validatable # attachmentメソッド(gem:refile)使用 attachment :profile_image # アソシエーション設定 has_many :diaries, dependent: :destroy has_many :body_weights, dependent: :destroy has_many :rewards, dependent: :destroy has_many :diary_comments, dependent: :destroy
class Diary < ApplicationRecord # アソシエーション設定 belongs_to :user has_one :body_weight, dependent: :destroy has_many :meal_records, dependent: :destroy has_many :diary_comments, dependent: :destroy
class BodyWeight < ApplicationRecord # アソシエーション設定 belongs_to :user belongs_to :diary
試したこと
includesなど考えましたが、方法がわかりません。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/31 12:24
2020/03/31 14:08
2020/03/31 15:37
2020/04/02 11:24
2020/04/03 00:42
2020/04/03 04:53