Railsをはじめよう

本日、研究室で行われた「Ruby on Rails勉強会」で学んだことのメモを残します。
用いた参考書
Head First Rails 頭とからだで覚えるRailsの基本 (オライリー・ジャパン)

サーバー環境
CentOS 5.7
apache2.2.3
Ruby on Rails2.1以上(らしい)

くわしい環境はぐぐってください。

おおまかな手順

ターミナルを開き
railsサーバーログイン
ssh rails@***.***.***.*** -p ****
Pass:***************
※個人情報は***で隠してます。
※サーバーの仕様次第でログイン方法は変わります
※Windowsのやり方はぐぐってください

まずはじめに
始めにターミナルやPoderosaでログインしたら、
$ cd[スペース][スペース]/
$ source ~/.bash_profile
$ rvm 1.8.7@rails2311

ログインする度に必要です。

1.まず/var/www/html/railsまで入る。

2.ターミナルでアプリを作りましょう
> rails xxxs (xxxsはアプリ名:ちゃんと複数形でつくること)
と打つ。

3.シンボルリンクをつくります
>sudo ln -s /var/www/html/rails/xxxs/public /var/www/html/xxxs

4.データベースを作ってあげましょう

> ruby script/generate scaffold xxx ・・・・・・・・・
(xxxsの単数形を打つこと!参考書p14を参照)

※”sqlite3_openができないというようなエラーメッセージが出ていたら、

> export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib”

と打ちましょう!

5. データベースをつくってあげましょう2
/var/www/html/rails/xxxs(自分のアプリの中に入って)
> rake db:migrate

/var/www/html/rails/xxxs(アプリ名)/config下のroutes.rbを書き換えてあげる。

35~36行目を変更
# You can have the root of your site routed with map.root — just remember to delete public/index.html.
#map.root :controller => “welcome”
↓↓
# You can have the root of your site routed with map.root — just remember to delete public/index.html.
map.root :controller => “xxxs” (自分のアプリ名にすること)

6.文字コードを編集
/var/www/html/rails/xxxs/config/environmentsの
development.rbの一番下に以下のコードを書く

> #Encoding.default_external = ‘UTF-8’

(一応コメントアウトしてアップ。)
もう一回
>rake db:migrate
と打つ。

その時に「Encoding.default_external = ‘UTF-8’」のコメントアウトを外す。

7.httpd.confを書き換えて再起動させましょう。

以下、***.***.***.***下においての新規アプリ立ち上げ時のhttpd.conf書き換え手順。

*** sudo nano /etc/httpd/conf/httpd.conf
37分前 · いいね!

*** パスワード聞かれるのでrailsさんのpass打ってあげてください。
37分前 · いいね!

*** 1070行目あたりに”RailsBaseURI /koba_tickets”みたいなのが延々書かれている箇所があります。
34分前 · いいね!
 *** ここに続けて”RailsBaseURI (/アプリ名)”を追記してあげる。
33分前 · いいね!
*** 追記が終わったら保存して、以下コマンドでapache再起動。
32分前 · いいね!

※ちなみにnanoで1070行目まで行くのは相当怠いので「コントロール+_(アンダーバー)」を打つこと。最下段に行けます。

apacheの再起動は

>sudo /etc/rc.d/init.d/httpd restart

を打ってあげる。

※ここまで過程では「http://***.***.***.***/xxxs/」とURLバーに打ち込んでちょいちょいブラウザでチェックしていくとよい。

エラーの見方
rake aborted!! ・・・完全に失敗
warning ・・・内容次第では無視できる

とりあえず、
=======================
  これが出てたら成功!
=======================

httpd.confがリスタートできない場合
・httpd.confに間違いがないかよく確認する。
・急ぎの場合はコバさんに聞くこと。

ブラウザで出たエラーの場合
“routing error”
routes.rb に問題がある場合が多い。

“forbidden”
アプリの動作とは別にhtttpd.confにアプリ名を登録していない場合が多い。

それ以外のエラーはエラー文をよく読みましょう!!!
・頻繁に見つかるエラーの原因は「大文字と小文字」
・アプリ名の変更忘れ
・rbコードのなかの ” ” (ダブルクォーテーション忘れ)
・「Encording default ・・・」をコメントアウトしてruby script/generate・・・からやり直してみる。

以上、講師のakimoさんにいろいろ教えてもらいながらまとめました。
メモ程度なのでいい加減です。わからない点はぐぐってください。あと参考書を見るようにしましょう。
今日は寒いですね。これからバイクで帰ります。

※参考書
Head First Rails 頭とからだで覚えるRailsの基本 (オライリー・ジャパン)

terminal
スーパーハカーっぽい