rails 発展その3-2 マイページの作成


マイページの作成

基本は:idの使用くらいで他と変わらず
userコントローラーの作成とshowアクションでビューを作成するくらいです。

routes
  Rails.application.routes.draw do
    get     '/コントローラ名/:id'        => 'コントローラ名#show'
  end

# :idの部分には表示するユーザーページのユーザーのidが入ります。

# 例
  Rails.application.routes.draw do
    get   'users/:id'   =>  'users#show'    
  end
  # mypageのルーティング
ターミナル
   $ rails g controller users
app/users/users_controller.rb
# ここも基本欲しいデータ(名前と持っているアイテム一覧)を引っ張ってくる仕様です。
# 又 current_user.カラム名 とすることでログインしてるユーザーのデータを引っ張ってきます。
class UsersController < ApplicationController
    def show
      @name = current_user.name
      @items = item.where(user_id: current_user.id).page(params[:page]).per(5).order("created_at DESC")
    end
  end
app/views/users/show.html.erb
<!-- これでユーザーの名前とアイテムの一覧ができました。 -->
<div class="contents row" >
    <p><%= @name %>さんのアイテム一覧</p>
    <% @items.each do |item| %>
      <div class="content_post" style="background-image: url(<%= item.image %>);">
        <%= simple_format(item.text) %>
        <span class="name"><%= item.name %></span>
      </div>
    <% end %>
    <%= paginate(@tweets) %>
  </div>

ついでにマイページへのリンクがこちら

マイページのリンク
   <a href="/users/<%= current_user.id %>">マイページ</a>