2018-10-01から1ヶ月間の記事一覧

PostgreSQLではINTEGER型のカラムをorderでソートするときNULLが先頭に来てしまう

またしてもデータベースの違いでつまづきました。 とりあえずこれですべて片付いたとは思うけど、今度から開発環境と本番環境で同じDBを使おうと心に誓いました……。 現象 記事(article)にいいね数(likes_count)カラムがあり、その数値でソートして人気記事ラ…

PostgreSQLではstrftimeを使えない。困った

20日間ほどかけて取り組んできたブログサービスをHerokuにデプロイしたところ以下のエラーが。 ActiveRecord::StatementInvalid (PG::UndefinedFunction: ERROR: function strftime(unknown, timestamp without time zone) does not exist LINE 1: SELECT CO…

Railsにいいね機能を実装する

Railsアプリにいいね機能を実装しました。 作っているのがブログサービスなのでArticleにいいね(Like)をする形になってますが、ツイッター風アプリケーションであればArticleはTweetに置き換えて読んでください。 前提 Rails : 5.2.1 ツイッターのふぁぼ(…

Railsで異なるモデルも作成・編集できるフォームを作る

Rails: 5.2.1 fields_forを使うとひとつのフォームから複数のモデルを作成・編集することができます。 モデルの構成は、Blog has_one Category 上記はBlogモデルの編集フォームですが、入力欄3つ目の「ブログのカテゴリー」を入力して変更ボタンを押すとCate…

Railsでブログアプリに月別アーカイブを導入

作成中のブログアプリケーションに月別アーカイブの機能を実装しました。 こんな感じのやつです。 前提 Rails: 5.2.1 リレーションは User has_one Blog, Blog has_many Articles です。 はじめにメソッドを用意 まずブログ記事の :created_at を元に月別に…

Bootstrap4でwill_painateを使ってページネーション

ブログの記事一覧にページネーションを導入しようと、Railsチュートリアルの10章を参考にやってみたけどBootstrapがうまく反映されず。 調べてみたらBootstrap4だと少し違う方法になるようなので、まとめました。 前提 Rails: 5.2.1 Bootstrap4: 4.1.3 (今回…

FactoryBotメモ

『Everyday Rails - RSpecによるRailsテスト入門』を読んでRSpecを使い始めました。 以下メモ ファクトリ ↓spec/factories/users.rb FactoryBot.define do factory :user do name "マイク" text "こんにちわです" sequence(:email) { |n| "tester#{n}0@examp…

RailsアプリにシンプルなWYSIWYGエディタを導入

Basecampが開発しているWYSIWYGエディタ、TrixをRailsに導入しました。 Railsプロジェクトは作成中のブログサービスアプリケーション。 ブログ記事の作成ページにエディタを導入します。 バージョン Rails 5.2.1 Trix 0.10.1 インストール まずgemを導入しま…

AWS Cloud9に繋がらないときはインスタンスの停止→起動

現象 一昨日からAWS Cloud9でenvironmentに接続しようとしても「connecting...」のまま数分動かず、そのまま放置していると This is taking longer than expected. If you think there might be an issue, contact AWS Support. It might be caused by VPC c…