3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

今日お茶行きたい!ボタンをランチ募集サービスteapotで作った話

Posted at

背景

teapotというランチやお茶を気軽に募集できるサービスを運営しています。ここで今日お茶行けるよ!を表明できるボタンを作りたいなと思ってその際の仕様の決定する背景や開発内容をまとめました。

やりたいこと

  • 11:00までにお茶行きたいボタンをマイページから押す
  • その日の15:00までhomeで表示

仕様概要

table設計-なぜpostにカラム追加しなかったか-

postに特定のカラム追加してそこに日時をupdateしていくが最初に思いついた構成だったが一応その人が過去にどれくらい今日お茶行きたいボタンを押したかなどを残しておきたいなと思い、専用のtableを用意してそこにpost_idを送るようにした。

全体設計

teapot-6.jpg

  • todaytable(今日お茶行きたい人の投稿のリスト)のcreated_atが今日の人を参照
  • 時間制限は共通の変数を作成し、その時間じゃなければボタンや一覧の表示をしないで制御。正確にはURLたたけたりするけどまあ今回はそこまで制御しない
<% if Time.now.strftime("%H").to_i >= @today_start && Time.now.strftime("%H").to_i <= @today_end && @subposts.present? %>

こんな感じで@today_startなど共通の変数作ってapplication_controller.rbに記述して共通化する。

timezoneの変更

timezoneを上記の方法で日本時間に変更した

詰まったところ

timezone周り

application.rb
module Teapot
  class Application < Rails::Application
    config.load_defaults 5.1
    config.time_zone = "Tokyo"
    config.active_record.default_timezone = :local
  end
end

timezoneの書く場所

使ってみてね!

今回の機能はさくっと今日誰かとランチしたいなというのをつなぎたいというのももちろんありますが、teapotの思想であるなんの繋がりもなかったtwitterでちょっと気になる人を繋ぐにあたって今日という時間軸で繋ぐというのを目的にしています。

teapotがあったから友だちになりましたって人が少しでも増えると嬉しいです。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?