Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ライバルスキル比較機能 #30

Open
wants to merge 14 commits into
base: master
Choose a base branch
from

Conversation

ynq-otoge
Copy link

変更内容(概要)

Issue #29 に対応するPullReqです。
スキル表(users/[id]/[guitar|drum])画面で別のユーザとスキルを比較する機能を実装しました。
スマホ画面(幅320px)とPC画面での見た目は下図のようになります。

gfdm-compare_rival_image

  • スマホ閲覧を意識して、Issue作成時とは違い自分とライバルの情報を同じ列に(改行して、同一セル内に)表示する形式に変更しました
    • レベルや達成率が3行以上に膨れないよう、難易度値およびランクの表記は消しました
    • 凡例を入たほうが良いかと思いましたが、うまく入れ込める場所がありませんでした・・・
  • 全曲スキルは320pxだと微妙にはみ出てしまうので消そうかとも思いましたが、著しく見易さを損なっている訳でもないと判断して残しました
  • 各曲のコメントはテーブルの1行1行をかなり縦長にしてしまうため、スキル比較時は表示しないことにしました

変更内容(ソースコード)

  • skills_controller.rb
  • skills/new.html.erb
    • インデント・スペース等の軽微な修正
  • appication_helper.rb
    • 比較対象の片方しかスキル情報が無い曲のため、
      難易度表記(EXTとかMASとか)に無効値の表記を追加
  • users_controller
    • getパラメータでライバルIDを取得し、ライバルのスキルも取得する
    • 曲名をキーにしてユーザーとライバルのスキル情報を統合
    • その他リファクタ(スキル取得SQLの共通化)
  • [drum|guitar].html.erb
    • 比較したいライバルIDを入力するフォームを追加
    • ライバルID指定時はライバル比較用の_skilltable_with_rivalをレンダリングするよう変更
  • _skilltable_with_rival.html.erb
    • skilltableに達成率・難易度(レベル)・スキルを自分→ライバルの順でセル内で2行に改行して表示
    • スキル差分も表示
  • _sptable.html.erb
    • ライバルID指定時はライバルのスキル情報とスキル差分も表示するよう変更
    • ユーザ名を表示するよう変更(ライバル比較のため)
  • users/show.html.erb
    • sptable拡張(名前の表示)に伴い、部分テンプレートに受け渡す変数を追加

@kumamotone
Copy link
Owner

kumamotone commented Nov 9, 2016

とってもとっても、ありがとうございます!
リファクタリングまでしていただきありがとうございます。

軽くみて気になったのは、

  • アドレスに余分なパラメータが含まれていそうなこと
  • is_hot の範囲が、900までになっているが、901以上もあるのではないか

の2点ですが、実際に動かしてみて確認してみたいので、詳細についてはちょっとお待ちいただけると‥!

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.

3 participants