Skip to content

日報にブックマーク機能を実装#2789

Merged
machida merged 22 commits intomainfrom
feature/create_bookmark
Jul 1, 2021
Merged

日報にブックマーク機能を実装#2789
machida merged 22 commits intomainfrom
feature/create_bookmark

Conversation

@alto-I
Copy link
Copy Markdown
Contributor

@alto-I alto-I commented Jun 5, 2021

issue: #2658

概要

日報をブックマークできる機能を実装。

ブックマーク一覧ページへのリンク

image-20210612135510867

ブックマーク一覧

ブックマーク一覧はvue.jsで実装。並び順はブックマークした順。

image-20210612135609151

ブックマークボタン

日報の各個別ページにブックマークボタンを実装。

Image from Gyazo

その他

  • 後に提出物やQ&Aにもブックマーク機能を付けるためポリモーフィックで実装
  • 自分の日報もブックマークできる

@alto-I alto-I force-pushed the feature/create_bookmark branch 2 times, most recently from f7bed7a to 97b2d54 Compare June 10, 2021 10:11
@alto-I alto-I marked this pull request as ready for review June 12, 2021 05:13
@alto-I alto-I requested a review from SeijiNumata June 12, 2021 05:14
@alto-I
Copy link
Copy Markdown
Contributor Author

alto-I commented Jun 12, 2021

@SeijiNumata
こちらお手隙の際レビューお願いできないでしょうか🙇

Copy link
Copy Markdown
Contributor

@SeijiNumata SeijiNumata left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

確認しました!
とても良いと思います!
一点だけ質問しましたのでご確認ください!
よろしくお願いいたします🙇🏻

a.a-user-name(:href='bookmark.authorUrl')
| {{ bookmark.author }}
.thread-list-item-meta__item(v-if='bookmark.modelName == "Report"')
time.a-date(:datetime='bookmark.reportedOn', pubdate='pubdate')
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ここのpubdateについて質問です!
現在廃止されているようなのですが、何かに使われているのでしょうか?

https://www.osaka-kyoiku.ac.jp/~joho/html5_ref/pubdate_attr.php?menutype=2dtaldl01l02l03A0

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ご指摘ありがとうございます!
廃止されているのを知りませんでした😅

@alto-I alto-I self-assigned this Jun 12, 2021
@alto-I
Copy link
Copy Markdown
Contributor Author

alto-I commented Jun 13, 2021

@SeijiNumata
ご指摘受けた点修正しましたので、再度ご確認お願いします!😄

@SeijiNumata
Copy link
Copy Markdown
Contributor

SeijiNumata commented Jun 14, 2021

@alto-I
確認しました!
LGTMです!修正ありがとうございました!🙇🏻

@alto-I alto-I force-pushed the feature/create_bookmark branch from ce23fc5 to 85f198e Compare June 14, 2021 10:44
@alto-I
Copy link
Copy Markdown
Contributor Author

alto-I commented Jun 14, 2021

@SeijiNumata
ご確認ありがとうございました!勉強になりました😄

@alto-I alto-I force-pushed the feature/create_bookmark branch 2 times, most recently from 85f198e to 64dd3c0 Compare June 14, 2021 12:12
@alto-I
Copy link
Copy Markdown
Contributor Author

alto-I commented Jun 14, 2021

@komagata
こちらレビューよろしくお願いします!😄

@alto-I alto-I requested a review from komagata June 14, 2021 12:50
def index
bookmarks = Bookmark.where(user: current_user).order(created_at: :desc)
@bookmarks = Kaminari.paginate_array(bookmarks).page(params[:page]).per(PEGER_NUMBER)
return unless params[:bookmarkable_id] && params[:bookmarkable_type]
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

この場合、APIはどういうレスポンスを返すかんじですかね?
Railsのエラーが出ないようにしたいっすね。

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@komagata
お返事遅くなってすいません!
この場合は、bookmarkable_idbookmarkable_typeに対応したブックマーク情報を返すようになっています。ブックマークしてあればその日報の情報、してなければbookmarks以下が空のJSONを返します。

返すAPIの例

{"bookmarks":
  [
    {"id":1046770788,
    "modelName":"Report",
    "modelNameI18n":"日報",
    "author":"Komagata Masaki",
    "authorUrl":"http://localhost:3000/users/459775584",
    "url":"http://localhost:3000/reports/701335546",
    "title":"作業週1日目",
    "reportedOn":"2017年01月01日"
    }
  ]
}

日報の個別ページでブックマークしているかの判定に使っています。

この部分は自分でも少し気になっていたのですがindexの部分は

  • ブックマーク一覧の取得
  • 日報のページでのブックマークしているかの確認

の二つで使用しており、役割を二つ持たせている状態になっています。

ここは別のコントローラーを用意して分けた方がいいでしょうか?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UI上の二つの場所から使われていることは全く問題ないです〜。
考え方としてはUIとは全く切り離して考えて、このサービスの /api/bookmarks.jsonというAPIとしてどういう動き・データを返すのが相応しいかというのだけを考えれば良い感じです〜
(RESTの観点)

Copy link
Copy Markdown
Member

@komagata komagata left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

確認しました、OKですー🙆‍♂️

@komagata
Copy link
Copy Markdown
Member

@alto-I @machida こちらデザインは必要ですかね?まだマージはしないでおきます〜

@alto-I
Copy link
Copy Markdown
Contributor Author

alto-I commented Jun 28, 2021

@komagata
ご確認ありがとうございます!
RESTの観点を自分がまだちゃんと理解できていない部分がありましたので復習します 💪

@alto-I
Copy link
Copy Markdown
Contributor Author

alto-I commented Jun 28, 2021

@machida @komagata
こちら一度質問タイムでmachidaさんにデザインの大まかな部分は伺っているのですが、念の為ご確認をお願いしたいです🙇

@komagata
Copy link
Copy Markdown
Member

@alto-I

こちら一度質問タイムでmachidaさんにデザインの大まかな部分は伺っているのですが、念の為ご確認をお願いしたいです🙇

こちらどう言う意味でしょうか?
僕に対しての内容ですかね?僕が確認すべきはどんな点になりますか?

@alto-I
Copy link
Copy Markdown
Contributor Author

alto-I commented Jun 29, 2021

@komagata

@alto-I

こちら一度質問タイムでmachidaさんにデザインの大まかな部分は伺っているのですが、念の為ご確認をお願いしたいです🙇

こちらどう言う意味でしょうか?
僕に対しての内容ですかね?僕が確認すべきはどんな点になりますか?

すいません、こちらmachidaさんにデザインの確認をして欲しいという意味で書きました。わかりづらくて申し訳ありません🙇

@machida
デザインのご確認よろしくお願いします!🙇

@machida
Copy link
Copy Markdown
Member

machida commented Jun 29, 2021

@alto-I デザイン了解ですー🙆‍♂️

@machida machida force-pushed the feature/create_bookmark branch from 2084437 to 5f00e22 Compare June 30, 2021 14:05
@machida
Copy link
Copy Markdown
Member

machida commented Jun 30, 2021

デザイン入れました。
テスト待ち。

checkboxのセレクタをnameに変更

ブックマーク一覧の編集labelにforを追加

Watch中一覧の編集checkboxのテストの修正

待つ設定をbookmarkテストに追加

Bookmarkのテストに待つ設定を追加

ボタンの表示が切り替わる待ちを追加した

ブックマークボタンの文言変更

チェックボックスのテスト書き方を変更

テスト修正
@machida machida force-pushed the feature/create_bookmark branch from d98272a to ed3dc66 Compare July 1, 2021 15:44
@machida
Copy link
Copy Markdown
Member

machida commented Jul 1, 2021

テストが通りましたのでマージしますー

@machida machida merged commit 1903ef6 into main Jul 1, 2021
@machida machida deleted the feature/create_bookmark branch July 1, 2021 15:55
@github-actions github-actions bot mentioned this pull request Jul 1, 2021
18 tasks
@alto-I
Copy link
Copy Markdown
Contributor Author

alto-I commented Jul 4, 2021

@machida
デザインご確認&マージありがとうございます!
リリースノートまで書いていただいてすいません🙇

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants