bekkou68 の日記

Gogengo! や IT 技術など。

Ruby on Rails

スマホAPI の Controller 実装でよくつかう HTTPステータスコードの意図別まとめ

はじめに Rails でスマートフォン向けの API をつくっている時にどの HTTPステータスコードを返すか、自分なりの判断基準をまとめてみました。 Controller を実装している時によく返すステータスコードをイメージしています。 200 :ok 以下が正常に行われた…

Rails で iOS のプッシュ通知を実装する手順

(最終更新日: 2017/08/23) はじめに 自前でプッシュ通知を実装する手順をまとめます。サーバからクライアントまで。 この記事に書いてあること: プッシュ通知の疎通確認までの手順 個別送信の実装例 複数送信の実装例 デプロイ時の工夫 Feedback のハンドリ…

Rails サーバから Google Analytics API で情報を取得する手順 ーー google-api-ruby-client, OAuth

はじめに Rails サーバから Google Analytics API をたたいて情報を取得する手順をまとめます。 google/google-api-ruby-client · GitHub を使います。ログインだと Web で認可をもとめられる(後述)ので OAuth を使います。 日にちごとのスクリーンビュー…

Rails アプリを Travis CI で動かすためのメモ

.travis.yml を PROJECT_ROOT に追加 (2014/09/04 更新) language: ruby rvm: - 2.1.0 before_script: - mysql -e 'create database myproject_test;' notifications: hipchat: '<TOKEN>@<ROOM NAME>' # CI時に submodule を無視 git: submodules: false # bundle install をキ</room></token>…

Rails 3 + Nginx/Unicorn を Amazon AWS に Capistrano 3 でデプロイする

はじめに Amazon AWS 環境下で Rails 3 のアプリを Nginx/Unicorn で動くように Capistrano 3 でデプロイする手順をまとめました。 以下を前提に話を進めます デプロイ対象のアプリ/DBインスタンスはすでにつくられているとします デプロイ対象のアプリイン…

Protonight - Pair Programming Hack Session に参加しました

はじめに 残すところあと4日ほどで日本に帰ります。帰る前にもう一つイベントに参加したいなあと探して見つけたのが Protonight - Pair Programming Hack Session でした。 どんな場か 公式ページに詳しく書いてあります。かんたんにまとめると、 色んな人と…

date_select メソッドを呼ぶと can't convert Symbol into String とエラー

現象 date_select メソッドを呼ぶと can't convert Symbol into Stringというエラーが起きる。 解決策 ja.yml に order: からの4行を追加して解決しました。 ja: date: + order: + - :year + - :month + - :day 原因 config/application.rb において config.…

Rails で STI を使ったのでメモを残します

はじめに 自分用メモです。 参考 Ruby on Rails“シンプル”モデリング技法 - @IT Railsで単一テーブル継承(Single Table Inheritance) - 京の路 単一テーブル継承 (Single Table Inheritance) の上手な扱い方 - RAILS PRESS 実装ダイジェスト db/schema.r…

さくらVPS 上で Thin で動いている Railsアプリ Gogengo! を Nginx + Unicorn で動かすようにしました(JMeter 負荷テスト付き)

はじめに Gogengo! はさくらVPS 上で Thin のインスタンス 1つで動いていました。これだと重い処理のリクエストがきたら他のリクエストが待ちになってしまったり、大量の負荷がきたときに耐えられない恐れがあるので Nginx + Unicorn で動かしたくなりました…

Rails の production環境で assets 配下の画像(images)を更新する

はじめに production で動いているサービスの画像を差し替えました。そのときの手順をメモします。 やりかた 次のコマンドを実行します。 $ cd /path/to/railsapp $ rm -rf tmp/cache/assets/* $ bundle exec rake assets:precompile View はまだ古い画像を…

EdgeRailsより:polymorphic関連の where が短く書けるようになる

EdgeRails の記事:What's New in Edge Rails #38 | EdgeRails.info変更内容のコミット:Post.where(:author_id => Author.first) Post.where(:author => Author.first) PriceEstimate.where(:estimate_of_type => 'Treasure', :estimate_of_id => treasure)…

英語版の記事書きました:Twitter Bootstrap + Rails 3.2.3 の使い方を知るためにスパイクしました

『Twitter Bootstrap + Rails 3.2.3 の使い方を知るためにスパイクしました - bekkou68の日記』がそろそろ30ブクマいただけるので英語版も需要あるかなと思い書きました。かしこ。

I Ran Spike of Twitter Bootstrap + Rails 3.2.3 to Know How to Use Them

Introduction I tried to use Twitter Bootstrap which allows programmers (like me) to design likes designer and code a spike with Rails. e.g. Grid system and design to table and form. This entry may help you who want to create some codes by …

Rackレイヤーでリダイレクトする

きっかけ(2013/4/19 更新) D.D. を Gogengo! にリニューアルするにあたって、古いドメイン(http://www.ddic.jp/)を新しいドメイン(http://gogengo.me/)にリダイレクトしたくなりました。Railsアプリを Thin で動かしていました。例えばリダイレクトす…

Twitter Bootstrap + Rails 3.2.3 の使い方を知るためにスパイクしました

はじめに プログラマでも簡単にそれっぽいデザインができるという Twitter Bootstrap を試しました。Rails と組み合わせてスパイクしました。Grid を試してみたり、table や form にデザインをあてたりしました。スクラッチから Rails + Twitter Bootstrap …

Rails で warden.rb を編集後に redirect_to 後の flash に値が空になる - Value of flash After redirect_to Becomes Empty Caused by Editing warden.rb

サンプルソースコード - Sample Source Code http://github.com/bekkou68/openid 現象 - Phenomenon Rails で config/initializers/warden.rb を以下のように編集したら、redirect_to 後の flash に値が空になりました。 - The value of flash after redirec…

Rails の warden-openid のログアウト - Logout of warden-openid of Rails

導入 - Introduction 以下の前のエントリで紹介した warden-openid のログインにログアウトを追加しました。 - I added the logout to the login of warden-openid introduced by the following entry. http://d.hatena.ne.jp/bekkou68/20100816/1281886942 …

Rails で OpenID ログインを rails_warden と warden-openid で簡単に実装する - Implement OpenID Login Easy by rails_warden and warden-openid with Rails

必要な gem - Required gem gem install rails_warden gem install warden-openid warden-openid の概要 - Outline of warden-openid アプリ側から OP に遷移する際に、OP にコールバック先の URL を渡します。認証に成功したら、そのコールバック先にリダイ…

Rails3 を Bundler でインストールする - How to Install Rails3 by Bundler

手順 - Procedure 1.0.0.rc の Bundler をインストール。 - Install the Bundler of 1.0.0.rc. $ sudo gem install bundler --pre アプリケーションを作成していく。 - Now we're going to create the application. $ mkdir rails3 $ cd rails3 $ bundle ini…

RoR Webアプリケーションを Passenger を用いて DreamHost にデプロイする方法 - How to Deploy RoR Web Application to DreamHost by Passenger

導入 - Introduction Ruby on Rails (以下、RoR) のWebアプリケーションを Passenger を用いて DreamHost にデプロイする方法をご紹介します。 I'll introduce how to deploy Ruby on Rails (from the following, RoR) web application to DreamHost by Pass…

インストールをさせてくれ! - Let Me Install!

はじめに - Introduction RSpec と RSpec on Rails をインストールしようとしてみました。 I tried to install RSpec and RSpec on Rails. なお、それぞれが何かの説明は以下をご参照ください。 Now, explanations what they are is shown on the following …