2011年9月20日火曜日

Rails 3.1環境も作っておこう

興味のあるサンプルコードがRails3だったもので
この環境も作っておこうと思いました。

Rails 3.1.0
Ruby 1.8.7(2011-02-18 patchlevel 334)
gem 1.3.7

この他、gemfileの記述に沿って
インストールされたものが以下です。

$ gem bundle
bundler (1.0.12)
coffee-rails (3.1.0)
coffee-script (2.2.0)
coffee-script-source (1.1.2)
heroku (2.6.1)
jquery-rails (1.0.13)
rake (0.9.2)
ここで問題が起きた。
本来bundlerというのは、プロジェクトルートで走らせると、
アプリごとにgemがインストールされます。

つまりアプリ毎のgem管理ツールということ。

なのに、上記ではシステムのgemにインストールされてしまったのです。
システムのgemを汚してしまった。

これは失敗。

なので、アプリのルートに移動して
$ bundle install vendor/bundle
としないといけなかったようです。
参考:http://d.hatena.ne.jp/mirakui/20100703/1278165723

もっと言うと
$ bundle install vendor/bundle --disable-shared-gems
とすると、スキップされずにプロジェクトに全てインストールされるようです。

あ、ついでにというかこれを機に
CoffeeScriptからjavascript(とprototype.js)に入ってみようかと思ってます。
思ってるだけ。

2011年9月5日月曜日

ActiveRecordに備わっているもの

代表的なものは、フォームに入力されたデータをデータベースに書きこむ前に
妥当性をチェックする「validates・・・」。

内部的な振る舞いとして覚えておきたいことは、

  • 検証結果がOKならtrue、NGならfalseを返す
  • NGの場合のエラーメッセージを生成している
の2つ。

一番目は、controllerでif文の処理に使うし
二番目はメッセージを取得するメソッドを実装しないと表示しないので
覚えとかないとね。
※scaffoldで作ると標準で実装されるけど。。

2011年9月3日土曜日

Aptanaの設定

Aptanaの環境設定は、
Ruby、gem、Railsのパスをしっかり通しておくことを基本とする。
これ重要のようです。

特に、同じアプリをターミナルコマンドとIDE、エディタで扱う時、
/usr/local/bin
パスを通しておかないと、
Railsのバージョンがチグハグになってしまうと。

あーややこしや。

Railsのテストサーバー:Mongrel

アプリ実行の際に、Aptana RedRailsが「Mongrel使いたいんだけど・・」
ていう。WEBrickやったらあかんの?・・・・

・・・・・・・・・・・・・・・・・はい。


で、
$ sudo gem install mongrel
しました。


Successfully installed gem_plugin-0.2.3
Successfully installed daemons-1.1.4
Successfully installed fastthread-1.0.7
Successfully installed cgi_multipart_eof_fix-2.5.0
Successfully installed mongrel-1.1.5
という5つのgemが入ったよ。
バージョンは1.1.5。

Aptanaに戻って環境設定に入り、
Mongrelのパスを通したよ。
こんな感じ。
一応動いたね。
WEBrickにしとけよ! て無理に設定もできたかも知らんが
上手くいったんだし良しとしましょう。

2011年8月9日火曜日

Macでテストサーバ環境を作るよ(SQLite3)

Mac OS X SnowLeopardにSQLite3サーバを作る。
これはRailsのテストのために必要になる。
MacPortsとgemを使ってインストールする手順。
IDEを使わない開発の場合は、用意しておいて損はないと思った。RailsをインストールするとWEBrickというサーバも組み込まれるけど、入念にチェックするために別途サーバを作っておくことにしたよ。


$ sudo gem install sqlite3-ruby
これをたたくだけ。
2つのgemがインストールされる。
sqlite3-1.3.4
sqlite3-ruby-1.3.3


一応MacPortsのSQLite3を確認しとく。

$ port installed
で、portで導入されたものが一覧表示される。

SQLite3が、
sqlite3 @3.7.7.1_0 (active)
と表示されていればOK。

MacPortsとgitを導入するよ

なぜMacPortsが必要かと言うと、SQLite3やGitをインストールしたほうがRailsの開発に色々と便利そうだから。
SnowLeopardのターミナルコマンドで導入します。

MacPortsのSnowLeopard用のパッケージをDL
バージョンはMacPorts 2.0.1(2011.8.9時点)
ここは普通にパッケージをインストールする。1.7MB程度ですぐ終わる。
インストールされる場所は"/"の頭に"opt"ディレクトリを自動で作成してくれて、その中に入るようだ。

パスを通す
「.bashrc」を作る。
$ nano .bashrc
そうするとGNU nanoが立ち上がるので、変数を書き込む。以下。
export PATH=/opt/local/bin:/opt/local/sbin/:$PATH export MANPATH=/opt/local/man:$MANPATH
この後ターミナルで確認すると.bashrc.saveというファイルが作成されており、中身を見ると($ cat .bashrc.save)、上記の変数が書き込まれていることが確認できる。


念のために最新にアップデート/コマンド
sudo port selfupdate

インストール可能一覧を更新
sudo port sync

gitのインストール
MacPortsコマンドで導入する。
$ sudo port install git-core

これには5〜10分程度時間を要するが手間はない。
"/"の"/opt/local/bin/"にgitがインストールされる。
このディレクトリを見ると($ ls)、gitの他にpython2.7とかPerlとかSQLiteとかがザザーってたくさん入ってるよ。まあそんな感じ。

2011年6月2日木曜日

Ruby on Rails 2.3.2でなんかWebサービスつくりたし

さて、本読んでばっかだと挫折するので、簡単なアプリを作りながらRailsを掴んでいくとしよう。

まずはRails環境の構築メモ。
成り行き上2通りで。

  • ターミナルでusrディレクトリにRails2.3.2
  • IDE(Aptana)で同じバージョンのRailsを

Rubyのバージョンは1.8.7で、gemは1.3.7
このくらいがRails2の環境としては安定バージョンかな。



アプリを作成する場合のコマンドは
$ rails _2.3.2_ アプリ名 -d sqlite3
上記は、Railsバージョンを2.3.2、
データベースはSQLite3を指定したアプリになる。

ついでにMacPortsとgitもターミナルでインストールした。
詳しくは次回メモで。