2017-07-01から1ヶ月間の記事一覧

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…

OmniAuth: ロードバランサ配下での redirect_uri_mismatch 問題

問題 最近、OmniAuthを使ってGithub経由でのユーザー認証機能を既存のRailsアプリに組み込んだ。 その際、開発環境ではすんなり動いたのだが、本番環境にデプロイすると redirect_uri_mismatch エラーが出てしまう。 解決法 config/initializers/omniauth.rb…

Ruby: case 式における何もしない else の扱い

先週末に WEB+DB PRESS Vol.99の「良いコード」を本気でコードレビューしてみた という興味深いブログ記事が書かれました。 はてなブックマークでのコメントを見ると、多くの人がブログ記事の内容に賛同しているようですが、「P12: 何もしないelseは必要か?…