rails

Docker + Rails 6 + PostgreSQL による Web アプリケーション開発の始め方

要旨 Dockerを用いてRuby on Rails 6.0によるWebアプリケーション開発を行う手順をできるかぎり簡潔にまとめた。 Docker Composeを用いてデータベースサーバーのコンテナとWebサーバーのコンテナを管理する方法についても解説する。 対象OS macOS Mojave Ubu…

Windows Subsystem for Linux は Rails 入門環境には(多分)向かない【追記あり】

私は、Ruby on Rails の入門書の著者あるいは初心者向け講習会の講師として、Microsoft Windows というプラットフォームの取り扱いに悩まされてきました。 プログラミング入門者・初心者の間では Windows が主流ですが、プロの Rails エンジニアの多くは mac…

PostgreSQL: キャッシュした計画は結果型を変更してはなりません

PostgreSQL を用いた Rails アプリケーション開発で キャッシュした計画は結果型を変更してはなりません あるいは cached plan must not change result type というエラーメッセージに遭遇することがある。 解決法は簡単で、Rails サーバーを再起動すればよ…

Phusion Passenger: permission denied で ruby を実行できない問題

問題 Rails あるいは Sinatra を Phusion Passenger で動かしている状況で、permission denied により ruby を実行できない。 解決策 (1) Rails なら config/environment.rb、Sinatra なら config.ru の持ち主が ruby を実行できるユーザーかどうかを確認し…

Rails: send_data/send_file でデータの中身がテキストとして表示される問題

問題 次のようなRailsのアクションにより files/example.pdf の中身をユーザーにダウンロードさせたい。 class FilesController < ApplicationController def show filename = 'example.pdf' path = Rails.root.join('files', filename) send_file(path, typ…