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

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

2011-05-01から1ヶ月間の記事一覧

ラベルとサブミットボタンの文言をi18n対応にする

i18n用のファイルを下記のように設定してやると ja: helpers: submit: create: "登録する" update: "更新する" submit: "保存する" label: user: email: "メールアドレス" password: "パスワード"下記のようなフォームが日本語になります(I18n.locale = "ja"…

Object#presence

rails が追加しているメソッド。真ならオブジェクト自身を返して、偽なら nil を返す。 object.present? ? object : nil. と同じ。下記のような、パラメータをチェックして使うよくある感じのコードが state = params[:state] if params[:state].present? co…

Rails3 で HTTPS を使うには

Configuring Rails 3 to use HTTPS and SSL – Simone Carletti's Blogの意訳。 Rails 3.1以降 Rails3.1以降からは、このコミットによってHTTPからHTTPSへ遷移させるのがちょう簡単にできるようになった。下記のようにするだけでOK。 # config/application.rb…

capybara でサブドメインを利用したアプリのテストをするには

capybara のドライバによって設定の仕方は違うようですが、デフォルトの Rack::Test であれば Capybara.default_host = "en.example.com" のようにすることで、サブドメインへアクセスすることができるようになります。 参考 capybara with subdomains ― Gist

Rails 3.1 の migration の変更点について

またまたRails 3.1 ネタです。Rails 3.1 では migration ファイルのデフォルトフォーマットが変わりました。 rails g model blog title:string body:text としたとき、Rails 3.0 では下記のファイルが生成されます class CreateBlogs < ActiveRecord::Migrat…

Rails3.1で追加されるパスワード暗号化機能について

Rails 3.1 からパスワードの暗号化用のモジュールができたようです。ActiveModel::SecurePassword で定義されていて、ActiveRecord や Mondoid などの ActiveModel を利用しているモデルで使えるそうな。User モデルに password_digest カラムが設定されてい…

deviseでログイン後で遷移するパスを変更するには

deviseでログイン後に遷移するパスは、デフォルトだと {deviseで指定したmodel名}_root_path root_path の順番で探す。それ以外を指定したい場合は、ApplicationController で after_sign_in_path_for メソッ ドをオーバライドする。 例 class ApplicationCo…