LoginSignup
0
0

More than 3 years have passed since last update.

TodoじゃなくてNoTodoアプリをリリースした。。(とridgepoleの注意点)

Last updated at Posted at 2020-08-06

前書き

https://notodoo.herokuapp.com/
今回、NoTodoというwebアプリを作りました。Todoリストを作って「やることが多すぎる!」と感じたことはありませんか?
しかし逆にやらなくてもいいことも多くないですか
無駄なことを減らせば本当にやらなければいけないことに時間をさくことができます。
このwebアプリはそんな「しないことリスト」(NoTodo)をつくるためのものです。ツイッターでリストを公開することも出来ます。

NoTodo>

使った技術

rails6
heroku hobbyプラン(freeだとスリープするのがつらい)
ドメインは取得してません。

使ったgem(一部省略してあります)

gem 'rspec-rails'
gem 'factory_bot_rails'
gem 'ridgepole'
gem 'devise'
gem 'omniauth-facebook'
gem 'omniauth-google-oauth2'
gem 'dotenv-rails'
gem 'devise-i18n'
gem 'devise-i18n-views'
gem 'activeadmin'
gem 'rails-i18n'

今回初めて使ったものはrspecとfactory_bot_railsとridgepoleとomniauth-facebookです。
特に今回はridgepoleについて書こうと思います。

紹介

今回始めてスマホ優先のサイトを作りました。いままではずっとパソコン優先のサイトでした。

NOtodotop.png

↑ログイン前のTopページ TodoではなくNoTodoが目立つようにしました。
登録ページにはSNS認証が実装されています。(facebook認証が調子悪いときがあります。できないときはこのQiitaの記事のコメントにかいてください。)

notodo2.png

↑ログイン後のtopページ ずっと表示され続けるページと保存した翌日には非表示になるページがありますがデザインは一緒です。

ridgepole

使ってみた感想としてはすごく便利っです。migrateファイルをいちいち作らなくてもいいのはすごく楽でスマートです。ただ初めてなので結構つまずいたとこがありました。今回はそのうち2つを説明しようと思います。

migrate
create_table :posts do |t|
ridgepole
create_table "posts" do |t|

ちがいです。笑うかもしれませんがマイグレーションからそのままコピーして移すと最初、結構ハマります。できれば文法同じにしてほしかったです(わけがあって変えてるのかもしれない)。

このサイト公開するにあたって最もハマった点です。ふつうherokuで公開するとき最後に

heroku run rails db:migrate

を打つと思うのですがこれをやってしまうと大変です。

heroku run 'bundle exec ridgepole -c config/database.for.heroku.ridgepole.yml -E production -f db/Schemafile --apply'

ホントはこれをやるべきでした。しかしもうDBをリセットしても治りません。他にもやり方があるかもですが僕の場合は一旦アプリを削除してheroku createからやりました。これがわかるまで丸1日かかりました(泣)ちなみにseedをやるときはheroku run rails db:seedでいいんです。

ridgepoleを使うメリット・デメリット

メリット

・いちいちmigrateファイルをつく作らなくてもいい。
・ファイル一つで済む。

デメリット

・コマンドが覚えにくい

bundle exec ridgepole -c config/database.for.heroku.ridgepole.yml -E development -f db/Schemafile --apply

こんな長いのなかなか覚えられません。いちいちコマンドを遡ってやらないといけません。

・エラーが不親切

これはただの僕の技術不足かもですがエラーが分かりづらいと思います。サンプル出せなくてすみません。

まとめ

いろいろ書きましたがとにかくNoTodoお願いします。

0
0
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
0
0