RHELのインスタンスを使い、練習
参考資料は
Linux 2012-04
まず開発用DB sample_development
本番用 sample_production
を作成
使用しているのは postgresql
ただし、今回までインスタンスを停止しているので
最初にAWSアカウントにログインして RHELのインスタンスを稼働し
ssh 公開鍵認証でroot でログイン
続いて
su – rails
でrails ユーザへ変更
まず
createdb -U rails sample_development
でパスワード入力し作成
続いて
createdb -U rails sample_production
で作成
パスワードは書籍のとおりに pas4rails でOK
次にDB接続情報ファイルを設定
vim rails/sample/config/database.yml
でファイルを開き
/username
で検索
development: adapter: postgresql encoding: unicode database: sample_development pool: 5 username: rails password: pas4rails
というように変更します
他にも2ヶ所ありますので
/username で検索し、変更しておきます
次にサンプルアプリを生成
しかし
ruby script/generate scaffold Todo title:string description:text due:datetime done:boolean ruby: No such file or directory -- script/generate (LoadError)
となってしまいます
原因は
Rails再びつまずく、scriptの中身ないじゃん
にあるように
実行は予めアプリケーションのフォルダに移動してから実行します
とのこと
たしかに書籍をみても
. はカレントディレクトリ(~/rails/sample を表す)
と書いてあったので、
一度
cd rails/sample/
へ移動し
ruby script/generate scaffold Todo title:string description:text due:datetime done:boolean
を実効
exists app/models/ exists app/controllers/ exists app/helpers/ create app/views/todos exists app/views/layouts/ exists test/functional/ exists test/unit/ create test/unit/helpers/ exists public/stylesheets/ create app/views/todos/index.html.erb create app/views/todos/show.html.erb create app/views/todos/new.html.erb create app/views/todos/edit.html.erb create app/views/layouts/todos.html.erb create public/stylesheets/scaffold.css create app/controllers/todos_controller.rb create test/functional/todos_controller_test.rb create app/helpers/todos_helper.rb create test/unit/helpers/todos_helper_test.rb route map.resources :todos dependency model exists app/models/ exists test/unit/ exists test/fixtures/ create app/models/todo.rb create test/unit/todo_test.rb create test/fixtures/todos.yml create db/migrate create db/migrate/20120310004408_create_todos.rb
となり、成功です
このコマンドで、サンプルアプリを生成
続いて
RAILS_ENV=development rake db:migrate
で開発用DBの初期化
RAILS_ENV=production rake db:migrate
で本番用DBの初期化
次に、サンプルアプリの動作確認を確認
ruby script/server mongrel -e development
を実行し
確認のため、ブラウザを起動して動作確認
今回の確認には google chrome を使用
http://サーバーIP:3000/todo
でアクセスして画面に表示されたらOKです
new todo をクリックすると Todo リストがつくれます
とりあえず、確認できたら
端末に戻って Ctrl + c で mongel を停止します
次はアプリの起動、停止監視のスクリプトになります
それにしても、やはり書籍の場合ある程度知っていることが前提で
かかれているので多少はネットなどで調べることが必要になります