おもしろwebサービス開発日記

Ruby や Rails を中心に、web技術について書いています

rails

Rails 3.1 でサポートされるHTTPストリーミング機能について

Riding Rails: Why HTTP Streaming?の意訳です。Rails 3.1 からHTTPストリーミングがサポートされるようになるらしい。 HTTPストリーミングって何? 普通の動的なHTTPレスポンスにはContent-Lengthヘッダが必要。時系列的にはこんな感じ HTTPリクエスト 動的…

edge rails(Rails 3.1)の新機能を調べてみる

Rails 3.1 の機能がもう試せるらしいので、下記のエントリを参考にしつつ試してみました。How to Play with Rails 3.1, CoffeeScript and All That Jazz Right Now edge な rails アプリの作成 rvm でインストールしたての(gemのはいってない) Ruby 1.9.2 を…

passegner のドキュメントを読む

気になったところだけのメモです。nginx用。Phusion Passenger users guide, Nginx version サブURIにデプロイする 例えば http://example.com/rails をアプリのトップディレクトリにしたい場合で、 root /websites/phusion;な時。 ln -s /webapps/mycook/pu…

Chapter 17 Extending RSpec その3

Chapter 17 Extending RSpec その2の続き。 17.4 Macros 下記のコードを describe Widget do it "requires a name" do widget = Widget.new widget.valid? widget.should have(1).error_on(:name) end end カスタムマッチャを使って極限まで省略すると下記…

Rails 3 のエラーメッセージを日本語化したときの半角スペースをなくすTips

Rails 3(beta3)でのI18nのTipsです。Railsでエラーメッセージを日本語にしたときに、デフォルトだと "タイトル を入力してください。"のように属性名の後に半角スペースが空いてしまいます。この半角スペースをなくすには下記のように config/locales/ja.yml…

Rails 3 の I18n について

Ruby on Rails Guides: Rails Internationalization (I18n) APIを読んでのメモ。全部網羅してたりはしてないので、気になった方は原文見てください。 基本 I18n.translate "store.title" I18n.localize Time.now # 短縮形 I18n.t "store.title" I18n.l Time.…

Rails 3 の Action Mailerまとめ

Ruby on Rails Guides: Action Mailer Basicsを読んでの自分用メモです。 Mailerを作る rails generate mailer UserMailer Mailer概要 defaultでmailメソッドのデフォルト引数を指定できる mailメソッドでmailを送る controllerと同じように、ここで定義した…

Rails 3 のルーティング定義について

Rails 3のルーティングで気になったところについて。いつものメモです。あくまで気になったところなので全部網羅しているわけではありません。あしからず。 基本形 map.connect から match メソッドに変更。オプションも下記のように変更。 # Rails 2 map.co…

Rails 3 でのtitleタグの書き方について

Rails 2 では、content_for(:title) が定義されていないときにviewで yield :title などとすると nilかfalseが戻ってきていたので、デフォルトのタイトルを定義したいような時は <title><%= yield(:title) || "default title" %></title> のように書けたのですが、Rails 3 …

Railsの認証プラグイン Authlogic について

READMEを意訳&気になったところを調べてざっくりとまとめました。自分用のメモです。 基本的に ログイン/ログアウトの状態を管理するセッション ユーザモデルへの認証機能の追加 の二つの機能が定義されている。 ログイン/ログアウトの状態を管理するセッ…

rvmのRubyでpassengerを使う方法

rvmはインストールだけしてほったらかしにしてたのですが、passengerにrvmのrubyが使えるらしいのでそろそろ本格的に使おうかなと思い立ちました。というわけで手順をメモ。 作業手順 まずrvmでRuby Enterprise Editionをインストールします。 rvm install r…

Rails 2.3.5をRails 3.0にアップグレードする方法

一人で使ってるscaffoldに毛が生えたようなRails 2.3.5のアプリをRails 3.0にアップグレードするまでのメモです。あんまり情報もないので手探りでやってみて、その後に「こうやるといいのかなー」というのをまとめました。もっといい方法あったら教えてくだ…

Rails 3 へのアップグレードを補助するプラグイン rails_upgrade

Rails 3.0 リリースノート和訳 - 前編 - おもしろWEBサービス開発日記に書かれている、アップグレードの一部を自動化してくれるプラグインrails_upgradeについてのメモです。 インストール方法 script/plugin install git://github.com/rails/rails_upgrade.…

Rails 3 + passenger で environment を定義する方法

Rails 2 まで、passenger上でenvironmentを指定するディレクティブはRailsEnv(apacheの場合)で、 RailsEnv developmentのように設定できましたが、Rails 3 は、passenger的には単なるRackアプリの一つとして扱われるので RackEnv developmentのようにRackEnv…

bundlerのREADMEを読んでのメモ

bundlerのREADMEを読んでの自分用メモ&意訳。 bundle init Gemfileのひな形の作成用のコマンド。Gemfileの書き方の情報はBundler::Dslを参照するといい。 Gemfileの書き方 source gemファイルのソースを指定。最低一個は指定する必要がある。 source :gemcu…

Paperclip的なプラグインDragonfly

Paperclip的なプラグインDragonflyの紹介記事Dragonfly: Image Handling For Championsの意訳です。ところでこのくらいの分量の「海外の記事のざっくりな意訳」ってどれくらい需要あるんでしょうかね?あんまり需要なさそうならこれ系の記事はサブアカに書い…

Rails 3.0 リリースノート和訳 - 後編

お待たせしました。後編です。一週間で書くつもりが一ヶ月かかりました><Rails 3.0 リリースノート和訳 - 前編 - おもしろWEBサービス開発日記 7 Action Pack Action Packには重要な変更が(内部的にも外部的にも)あるよ。 7.1 Abstract Controller Abstrac…

the rspec book - Chapter 12 Spec::Example その2

the rspec book - Chapter 12 Spec::Example その1 - おもしろWEBサービス開発日記の続きです。 before メソッド before(:all)とbefore(:each)がある。それぞれ before(:all)はexample groupで一回 before(:each)はexample毎に一回 実行される。初期状態ご…

Rails 3.0 リリースノート和訳 - 前編

Rails 3.0: Release Notesの和訳をしています。量が膨大なのでとりあえず半分をエントリとして切り出しました。基本的に意訳で適当に削除したり付け加えたりしてる部分もあります。もし間違い等見つけたらご連絡をお願いします><後編は一週間後くらいまで…

Rails 3にアップグレードしたら2.x系が作れなくなった

Rails 3.0 リリースノート和訳 - 前編に書かれていたやりかたでrailsを3にしてみました。その状態で2.3.5のRailsアプリを作ろうとしたら下記のようにエラー rails _2.3.5_ 2.3.5 /opt/ruby187/lib/ruby/site_ruby/1.8/rubygems.rb:827:in `report_activate_e…

fixture代換プラグインMachinistの使い方

fixtureの代換となるプラグインMachinistの使い方のメモ。下記URLのREADMEの意訳です。notahat's machinist at master - GitHub インストール sudo gem install machinist --source http://gemcutter.org セットアップ spec/blueprints.rbに下記のように書き…

passenger2.2.8

下記はPhusion Passenger 2.2.8 released « Phusion Corporate Blogの適当意訳です。自分用のメモ。 nginx OS X上でnginxを再起動しようとした時のSIGHUPに時間かかるか失敗することがあったのを直した。 NginxにはOpenSSLが必要。でもpassenger側ではチェッ…

controllerを少しだけスリムにするtips

(※12月の1日から25日まで、日替わりで Ruby の Tips を紹介するイベント、 Ruby Advent Calendar jp: 2009 の 12 日目です。昨日は id:ohac さんでした。明日はうづら(udzura) さんの予定です。)Railsネタをひとつ書きたいと思います。 titleをviewで設定し…

Rails2.3.5リリース

Rails2.3.5がリリースされたようです。Riding Rails: Ruby on Rails 2.3.5 Released上記エントリの内容をざっくり意訳します。基本的にはバグ修正しただけみたいですね。 strip_tagsのXSS脆弱性を直した strip_tagsメソッドにバグがあり、IE利用時にXSSでき…

countよりもcount_by_sqlの方がいいかも

前書いた書きかけのメモを発見したので加筆して載せてみます。ちなみにこの話はMysql(InnoDB)利用時限定です。モデルのcountメソッドは SELECT count(*) AS count_all FROM `blogs` のようなSQL文を発行します。このようなSQL文では、基本的に主キーインデッ…

いつの間にかvalidates_uniqueness_ofの仕様が変わっている件

別ブログに書いてたものをまとめてみました。 case_sensitiveで大文字と小文字を区別・・・できない - おもしろWEBサービス開発日記のrailsメモ - railsグループ 昔の仕様 これまで、mysqlを使用しているとき、値の唯一性をチェックするvalidates_uniqueness…

Railsの脆弱性その2

昨日公開された下記エントリの意訳です。Riding Rails: XSS Vulnerability in Ruby on Rails どんな脆弱性か Railsのform helpersでのエスケープに脆弱性がある。攻撃者は、故意に変形させたunicodeの文字列をform helpersに入れることで、エスケープのチェ…

Railsの脆弱性その1

昨日公開された下記エントリの意訳です。Riding Rails: Timing Weakness in Ruby on Rails どんな脆弱性か クッキーストアのメッセージダイジェストを検証する部分に脆弱性がある。ねつ造した証明書が完璧に正しいときに、証明書を検証するのに使っている不…

willnet-amazon-ecsのバグ修正

amazon-ecsに署名認証をつけるようにした - おもしろWEBサービス開発日記上記エントリで紹介したamazon-ecsの署名認証付けた版ですが、半角スペースを含む検索キーワードでうまく結果を取得できないバグがあったので修正しました。0.5.5を利用している方がい…

Rails2.3.3での変更点

先日Rails2.3.3がリリースされました。変更箇所を確認してみたかったので、下記のブログを翻訳(意訳)してみました。Riding Rails: Rails 2.3.3: Touching, faster JSON, bug fixes以下翻訳(意訳)メモ。間違ってるところがあったら教えてください>< Active …