rails

「コタれん」にOAuth認証機能を追加してみた

OAuth認証を試したいと思い、コタれんにOAuth認証機能を追加してみた。コタれんでは既に devise による認証機能を持っていることを踏まえ、やりたいことは以下とする。 devise で既に登録されているユーザの emailアドレスと OAuth認証でログインした時の em…

herokuのステージング環境を作る

幸いにもかんばんりすとやコタれんを使ってくれている人がいるのでとても嬉しいのだけど安易に本番環境に変更を加えるのが恐い今日この頃。トラブってせっかく使ってくれている人に迷惑をかけてはいけない。変更を加えた時はローカル環境でもちろん動作確認…

will_paginateでAjax対応 Rails3.0系

基本は以下を参考にする。 http://techracho.jp/morimorihoge/2011_06_29/3859以下、上記だけではハマったことをメモ。 RJSで Element.update が無いというエラー発生 will_pagenate のリンクをクリックすると、ブラウザのダイアログでエラーが出て驚く。 調…

Modelのバージョン管理を行う(acts_as_versioned)

やりたいのはあるモデルを更新した際に更新前の状態を自動的にバックアップしてくれる機能。 いろいろあると思うけど、acts_as_versioned プラグインを使ってみた。環境:Rails3.0系 インストール インストールはいつもの感じで以下 $ gem install acts_as_v…

Rails tips vol2

最近Railsを触っていていろいろ知ったことをメモ。 コントローラから部分テンプレートのみを render したい場合 状況としては、Ajaxのレスポンスとしてある程度複雑なhtmlをテンプレートから生成し、かつ layout の application.html.erb を含めたくない場合…

Rails tips vol1

最近 Rails をいじっていていろいろ書き留めたメモ。変なこと書いてたら突っ込んであげてください。 設定値はどこに書くべきか? とりあえずenvironment.rb に書いてみたらコードからもテストからも見えた。 きちっとした人はAppConfigに書くらしい。たしか…

scopeとクラスメソッドの挙動の違い

これまで model で定義する scopeとクラスメソッドの違いについてあまりよくわからないまま使っていたんだけど、明確な挙動の違いに遭遇したのでメモしておく例えば以下のような scopeを作りたいとする scope :all_counts_by_name, lambda{|name| counts = {…

rspec で guard を使う

guard がとても便利なので使う時のメモをしとく インストールから実行 1) gem install bundler 2) gem install guard-rspec 3) gem install growl 4) guard init rspec -- Guardfileの雛形作成 5) Guardfileを編集 6) guard start -- Guardの起動 Rails の場…

ビジネスロジックをどこに書くか

Rails をかじっていくと、主に view と controller がごちゃごちゃしてくる。あまり考えずに作っていくと以下のような状態になっちゃった view: 様々な action からの遷移で表示したいものを :action で判定したりするコードが増える controller: model から…

Rails3の form_for で Ajax をやってみた

一番シンプルっぽいパターンをメモ。とりあえず Ajax通信できた、というレベル。 通常の Ajax通信ではコールバックを html か js ファイルに書くと思っていたが、Rails3ではコントローラ側で js を生成してレスポンスを返すイメージらしい。 index.html.erb …

「はじめる! Rails3」で勉強中

達人出版会の「はじめる! Rails3」という電子書籍を購入してみました。読みながら例題アプリを作成していくという構成になっていて、Railsの仕組みを1から教えてくれるのでとてもわかりやすい。また、各章の終わりに演習問題がついていて、メインで作成し…

Railsでテストを書いてみる(Rspec:Controller編)

コントローラもテストしてみる。 ページにアクセスしてサクセスが返ることと、期待するテンプレートを表示することを確認するシンプルなケース 画面にアクセスするのは get :アクション名 成功が返るのは response.should be_success テンプレートの表示判定…

Railsでテストを書いてみる(Rspec編)

rspec 環境設定 Rails3.0.3に rspecをインストールするのに少しハマったのでメモ gem のアップデート $ sudo gem update --system $ gem -v 1.5.2 activesupport のアップグレード rspec-rails で 3.0.4 を要求されるので、アップグレードしておく。他のは 3…

Railsでテストを書いてみる(UnitTest編)

前準備の環境構築 改めておさらいしつつ。Rails3.0.3 mysql でアプリを生成 $ rails new practice -d mysql DB生成 $ cd practice $ rake db:create:all DB確認 $ mysql5 -u root -p mysql> show databases; +----------------------+ | Database | +-------…

Railsの勉強

Railsでアプリ作ろうにもあまりちゃんと勉強したことなかったので復習。いいサイト見つけたのでいろいろ試してみる。 Ruby on Rails Pro 2010/12/12 : Controller ファイルのアップロードまで試した。アップローダーがこんなに簡単に書けるなんてすごい。

Herokuを試してみる

Heroku というのが流行っているらしい。とりあえず試してみることに。 MacBookPro に環境を作ってみる。環境:Snow Leopard rails インストール http://sememo.blue-robin.jp/?p=376元々入っていたが、gem のアップデートと rails のアップデートを行った $ …