カテゴリー : 2012年 5月

Haml でコーディングするときに参考になる記事まとめ

Haml でコーディングするときに参考になる記事をまとめてみました。

Haml の文法や書き方に迷ったら見るようにしています。

#haml.tutorial はてなブックマーク - #haml.tutorial

Route 477 – Haml早見表 はてなブックマーク - Route 477 - Haml早見表

Haml レシピブック 11の技 – ursmの日記 はてなブックマーク - Haml レシピブック 11の技 - ursmの日記

haml内のrubyコード – 橋本詳解 はてなブックマーク - haml内のrubyコード - 橋本詳解

マークアッパー的 Haml入門21の手引き はてなブックマーク - マークアッパー的 Haml入門21の手引き

以上です。

[Ruby on Rails] 他のテーブルへの外部キーを表すカラムを追加する方法(add_column, references)

Ruby on Rails 3.2.2 にて、他のテーブルへの外部キーを表すカラムを追加する方法を調べたのでメモ。

例えば、Usersテーブルへの外部キーを表すカラムを新規に作成する Testers テーブルに持たせるには、TableDefinition#referencesメソッドで追加できます。

rails g model tester title:string user:references

しかし、既存のテーブルに Usersテーブルへの外部キーを表すカラムを追加する場合は、referencesメソッドは使えません。

rails g migration add_user_to_tester user:references

この場合、外部キーは「テーブル名_id」というカラム名の形式で、整数型として定義してあげればOKです。

rails g migration add_user_id_to_tester user_id:integer

ちなみに、migration ファイルは下記のような感じです。
(外部キーのインデックスも張りました)

class AddUserIdToTester < ActiveRecord::Migration
  def change
    add_column :testers, :user_id, :integer
    add_index :testers, :user_id
  end
end

以上です。

【参考】

activerecord – Rails 3 migrations: Adding reference column? – Stack Overflow はてなブックマーク - activerecord - Rails 3 migrations: Adding reference column? - Stack Overflow

[Ruby on Rails] エラー:Range unspecified. Specify the :in, :within, :maximum, :minimum, or :is option.

Ruby on Rails 3.2.2 にて、model にバリデーション処理を書いて動かしてみたら、エラーが発生しました。

■ エラーメッセージ

Range unspecified. Specify the :in, :within, :maximum, :minimum, or :is option.

■ ソースコード(一部)

class Article < ActiveRecord::Base
  validates :title,
    length: { minimun: 0, maximun: 50 }
end

原因は、minimum, maximum をスペルミスしていたせいでした。

◯ minimum
☓ minimun

◯ maximum
☓ maximun

以上です。

[Ruby on Rails] ActiveRecord で setter と getter の実装方法

Ruby on Rails の ActiveRecord で setter と getter を実装する方法を調べたのでメモ。

define_method を使って、下記のように書くか、

class MyModel < ActiveRecord::Base
  define_method("hoge"){
    read_attribute "hoge"
  }
  define_method("hoge="){ |hoge|
    write_attribute "hoge", hoge
  }
end

もしくは、下記のように書くのもありです。

class MyModel < ActiveRecord::Base
  define_method("hoge"){
    self["hoge"]
  }
  define_method("hoge="){ |hoge|
    self["hoge"] = hoge
  }
end

以上です。

【参考】

ActiveRecordでsetterとgetterを実装する際の注意点(define_method使用) – しょぼエンジニアの仕事メモ はてなブックマーク - ActiveRecordでsetterとgetterを実装する際の注意点(define_method使用) - しょぼエンジニアの仕事メモ

define_method (Module) – Rubyリファレンス はてなブックマーク - define_method (Module) - Rubyリファレンス

[Ruby on Rails] 権限管理・認可を扱う「cancan」が便利

Ruby on Rails にて、権限管理や認可を扱う「cancan」という gem を使ってみました。

ryanb/cancan

カンタンに導入できて、かなり便利です。

使い方は、下記の記事を参考にしました。ありがとうございます。

cancan でモテカワ♥愛され権限管理 « blog.udzura.jp

Rails3.0 で Devise と CanCan を動かす – dimrosの日記

ASCIIcasts – “Episode 192 – Authorization with CanCan”

以上です。

[Lokka] Heroku に設置して動かす方法

Lokka(ロッカ)というクラウド環境に対応したRuby製CMSを、Heroku に設置して動かすまでをやってみました。

Heroku 上への Lokka 設置は公式サイトの手順通りにやればOKです。

Getting Started – Lokka はてなブックマーク - Getting Started - Lokka

git clone git://github.com/komagata/lokka.git
mv lokka/ english-study
cd english-study/
heroku create english-study
git push heroku master
heroku rake db:setup
heroku open

英会話・英語学習用のブログを作成しました。

http://english-study.heroku.com/

日々の英語学習の記録をブログに書きつつ、Lokkaを少しずつ触っていく予定です。

[Ruby on Rails] 開発環境以外で Basic 認証を設定する方法

Ruby on Rails 3.2.3 にて、本番環境やステージング環境では Basic 認証を設定したいけど、開発環境では Basic 認証したくないときの設定方法をメモ。

開発環境でいちいち Basic 認証の User名、Password を入力するのは面倒ですものね。

app/controllers/application_controller.rb

class ApplicationController < ActionController::Base
 
  before_filter :password_protected unless Rails.env.development?
 
  protected
 
  def password_protected
    authenticate_or_request_with_http_basic do |username, password|
      username == "spam" && password == "spam_pw"
    end
  end
 
end

実行環境が”development”以外の時のみ、認証がかかるようになります。(ユーザ名:spam、パスワード:spam_pw)

以上です。

Node.js を入門するときに参考になりそうな記事まとめ

Node.js を入門するときに参考になりそうな記事をまとめてみました。(随時更新予定)

Nodeビギナーズブック » Node.jsチュートリアル » Node.js 教程

基礎から学ぶNode.js:第1回 Node.jsとは|gihyo.jp … 技術評論社

JavaScriptでWebアプリを開発できる「Node.js」活用入門 – SourceForge.JP Magazine : オープンソースの話題満載

以上です。

[iPhone/iPad] UDIDを確認できるアプリ「UDIDit」→「UDID Sender」は無料

iPhone/iPadのUDIDを調べる方法を調べたのでメモ。

まず、UDIDを調べて、メールでUDID以外の端末情報を送信できるアプリ「UDIDit」があるので、カンタンにはこれを使うと便利です。

「UDIDなにそれ?」な初心者の方からUDIDを教えてもらう際には、「UDIDit」でメールしてもらうのが楽です。

App Store – UDIDit

iPhone、iPadのUDID(識別子)を調べてメールするだけのアプリ「UDIDit」 | OZPAの表4

(追記:2013/08/28)

「UDIDit」が有料アプリになってしまったので、「UDID Sender」は無料で使えるのでこちらを使いましょう。

UDID Sender for iPhone, iPod touch, and iPad on the iTunes App Store

アプリとか使わずに、普通に確認するには下記の記事を参考にしましょう。

iPhone iPadのUDIDの調べ方 コピーの仕方 | ごりゅご.com

以上です。