ruby on rails 4学習 (1) hello worldから始めよう 

ruby on rails 4学習 (1) hello worldから始めよう 

ruby on railsはフレームワークなのに、「難しい」

AWSを使用してruby on railsを学習します
環境は
Aws(Linux、CentOS)一部無料, ruby, ruby on rails4 ,mysql を使用します

以下の書籍を参考にします

実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング
              黒田 努

改訂3版基礎 Ruby on Rails (KS IMPRESS KISO SERIES)
              黒田 努,佐藤 和人,株式会社オイアクス

<1回目>
hello worldを表示する
一見簡単そうなHello Worldですが、Railsになると簡単には行きません。

Mysqlを使用します。Rails,Rubyがインストールされている前提
フレームワークというと簡単に設定して、すぐに動かせるイメージがありましたが、
RubyOnRailsでは、フレームワークに騙されてしまった感じ。

<手順>

(1)rails new hello_rails -d mysql (mysqlを指定する)
一連のファイルとフォルダが作成される
(1.5)Gemfileの# gem ‘therubyracer’, platforms: :ruby
のところのコメントを外すのだそうです。このコメントがあるままだとつぎの2番めでエラーになる
(2)rails generate controller top index >>>ここでは、RAILS_ENVを指定しない。うっかり指定するとその環境名のカラム列が追加されてしまう。もし入れてしまったら、Migrateを実行する前に、
/home/(user名)/アプリ名/db/migrateの中のファイルを開いてRAILS_ENVのところを削除する。

rails g controller top index

(3)mysql のユーザと権限Grantを追加
MYSQLのときは事前に設定が必要になります。
mysql> create user ‘hello_rails’@’localhost’ identified by ‘Mim**パスワードを設定します’;
Query OK, 0 rows affected (0.00 sec)

mysql> grant all on *.* to ‘hello_rails’@’localhost’;
Query OK, 0 rows affected (0.00 sec)

(3.5)database.ymlを編集する
(4)rake db:create (公開のときは必要でRAILS_ENV=production、今回は不要)
特になにもデータを挿入しないけど、MYSQLを使うときは、先にDBを作らないとエラーになるそうです。

次に(テキストの説明はこれからします。、上の動画を御覧ください)

次回予定。変わるかもしれません。

(5)rake db:migrate  (公開のときは必要でRAILS_ENV=production、今回は不要)

・Webrickでブラウザに表示させよう
以下はAWSの環境
AWSのダッシュボード、ブラウザ側でAWSのアカウントでログインして
セキュリティグループ作成
rails sで立ち上げた3000ポートでアクセスするので↓を追加。

タイプ:カスタム TCP ルール
プロトコル:TCP(6) ※自動選択
ポート範囲:3000
送信元: 0.0.0.0/0

bundle exec rails s -d -b 0.0.0.0
これで起動して
http://AWSのIPアドレス:3000
でアクセスする。

Railsのエラーとかがでればアクセスできてる。
ちなみにMysqLの場合は、DB:createをしないとだめらしい。

感想

単にHello worldを表示するだけなのに、
DBの設定まで進めないと表示ができません。それだけに、いろいろな設定や手順を知っていないと
先に進めないことがわかりました。
 何も見なくてもとりあえず動かせばなんとかなる代物では無いです。Railsは。
教科書を読んで手順を知って、どこを記述すればよいのか知らないと何もできないということがわかりました。
これがRUbyOnRailsの大変なところなのでしょう。

しかし、会員登録や掲示板などは従来のPHPやCGIに比べるとかなり簡単に
サイトの構築ができてしまいます。
そこがRubyOnRailsの凄さと思います。
逆に、簡単にできるために、設計や作成が簡単だと誤解されているように思いました。

以下の書籍を参考にします

実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング
              黒田 努
改訂3版基礎 Ruby on Rails (KS IMPRESS KISO SERIES)
              黒田 努,佐藤 和人,株式会社オイアクス

こちらの記事もどうぞ