feed実装 フォローしているユーザーの投稿を見る。 フォロー機能続き
ここの記事は、以前書いた記事の続きです。
以前の記事は、ユーザーをフォローする機能を書きました。
http://qiita.com/kitaokeita/items/59b625e0c43a62f5fe6a
今回は、フォロー機能を使って、feed機能を作ってきます
rails 5.0
ログイン機能は、deviseで作っている。
フィード実装前の状態
deviseで、userモデルを作っている。パスワード以下の項目は省略
id | 名前 | メールアドレス |
---|---|---|
1 | 山田 | [email protected] |
2 | 佐藤 | [email protected] |
3 | 山本 | [email protected] |
本の登録するために、bookモデルを作っている。 内容は、本のタイトルと感想です。
bookモデル | |
---|---|
id | 本のid |
title | 本のタイトル |
content | 本の感想 |
user_id | ユーザーid |
まず最初に、投稿用のcontrollerとviewを作ります。
$ rails g controller Page show
class PagesController < ApplicationController
before_action :sign_in_required, only: [:show]
def show
@feed_items = current_user.feed.paginate(page: params[:page])
end
end
<% if @feed_items.any? %>
<ol class="books">
<%= render @feed_items %>
</ol>
<%= will_paginate @feed_items %>
<% end %>
投稿用に
_book.html.erbを作る。
<div class="container">
<div class="row">
<div class="col-xs-6 col-md-3">
<p><%= book.title %></p>
<p><%= book.content %></p>
</div>
</div>
</div>
def feed
following_ids = "SELECT following_id FROM relationships
WHERE follower_id = :user_id"
Book.where("user_id IN (#{following_ids})
OR user_id = :user_id", user_id: id)
end
Author And Source
この問題について(feed実装 フォローしているユーザーの投稿を見る。 フォロー機能続き), 我々は、より多くの情報をここで見つけました https://qiita.com/kitaokeita/items/084d0b0dae30df43e2c9著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .