スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Ruby on Rails の開発はじめのメモ

Ruby on Rails にて開発するときに、知っておきたい基本的なメモを書きます。
開発環境構築については、こちらを参照ください。

ここで、簡単にRuby on Rails の構造を書きます。
Ruby on Rails は、(私も知らないうちはそうでしたが)一つの言語と思われがちです。
でも、
rubyは、プログラミング言語

railsは、webアプリケーション構築のプラットフォーム
です。
つまり、railsは、rubyを使ってwebアプリケーションを簡単につくってくれる物です。

そこで、Railsについて簡単にメモします。
・設定よりも規約(CoC : Convention over Configration)という開発が概念を使っている
    Java等のコードは、結構設定に時間がかかります。
    それをもう規約で定めて、簡単にしちゃおう!という考えです。
    ですので、ファイル名の単語の始めを大文字にしなければいけない等のに縛りがあります。
     CやJavaを使っている方には、こういうのって結構納得ができない人もいますが、
    こういうモノだと考えてみれば楽です。

・Model ・ View ・ Controllerという構造
    プログラム構造が3つの構造になっています。
    Model :
        データ保存や複雑なロジックを実行する。
    View :
        HTML形式などに出力するものです。
    Controller :
        この両者の間に立ち、色々処理をするものです。

この概念がrails開発の基本になります。
その他にRailsには色々規約があります。
こちらのサイトに詳しく記載されています。
(プログラムより規約を理解するほうが早道だと私は思いました・・・)

それでは、簡単に見て行きます。

まずは、アプリケーションの下準備をします。
全体的に開発する上で下準備に必要な流れは以下の二つです。
1. アプリケーション作成
2. DBへのアクセス設定
3. DBの作成

ここで簡単にtestAppというアプリを作ってみます。
1. アプリケーションの作成
      アプリケーションの枠組みを作成します。コマンドプロンプトにて
 rails testApp -d mysql
      すると、testAppが作成されます。

2. DBへのアクセスを設定
     1で作成されたtestAppフォルダの中に、config/database.ymlのファイルがあります。
     このファイルを変更します。 (エディタ等で開いてください)
     ファイルの中に、このような記述があります。ここの"password"にDBのパスワードを書きます。
development:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: testApp_development
  pool: 5
  username: root
  password: ←ここにパスワードを書きます。
  host: localhost

3. DBの作成
     次にDBを作成します。
     コマンドプロンプトにて
cd testApp
     にて、アプリケーションフォルダのルートに移動し、
rake db:create
     にて、DBを作成します。
     すると、DBができます。出力は、おそらく"(in [アプリケーションパス] )"のみが出てきます。

それでは、確認をしてみます。
コマンドプロンプトにて、
ruby script/server
と打ち込み、ブラウザでhttp://localhost:3000/を開いてください。
すると、以下の画面が開きます。
rubyAppCreate1
更に、"About your application's environment"をクリックしてください。
以下のようにApplicationの内容が画面に出てきたら、下準備は完了です。
もし出てこない場合は、DBの作成がうまくいっていません。再度、DBの作成から確認して下さい。
rubyAppCreate2


終了する場合は、コマンドプロンプトにてCtrl + Cを押します。

次に簡単に、コントローラを作成し、簡単に文字列を表示してみます。
先程のtestAppにて、そのまま作成します。

     ここでは、helloContのコントローラを作成し、その中にhelloAct関数を作成します。
     コマンドプロンプトにて、アプリケーションのルートに移動し、以下を打ち込みます。
ruby script/generate controller helloCont helloAct
     すると、「色々作りました」という、出力が出てきます。
     次に、アプリケーションのルート以下のapp/controllersにhello_cont_controller.rbのファイルが
     出来ています。このファイルをエディタ等で開いてください。
class HelloContController < ApplicationController
  def helloAct
  end
end
     という、感じで書かれています。
     ここで、少し説明すると、helloContがhello_contコントローラになります。
     helloActがhelloActアクションということになります。
    
    それでは、先程のファイルを以下のように変更します。
class HelloContController < ApplicationController
  def helloAct
     @mes = "Hello Controller(*^_^*)"
  end
end
     ここで、@mesというものが追加されました。
     '@'は、アクセス修飾子です。 ここでは、C# で言う"protected"みたいな感じだと思ってください。
     次に、Viewの変更をします。
    アプリケーションのルート以下のapp/views/hello_cont/helloAct.html.erbを開いてください。

HelloCont#helloAct


Find me in app/views/hello_cont/helloAct.html.erb


    こんな記述があると思います。
    基本的にHTML構文です。このファイルの最後の行に、以下を追加してください。

<%=@mes%>


    これは、先程コントローラの"@name"をViewの中で呼び出しています。
    これで、完了です。
    それでは、コマンドプロンプトにて"ruby script/server"を実行して、
    http://localhost:3000/hello_cont/helloActにアクセスしてみてください。
    文字列が出てきたと思います。

次にModel(DB)を作成し、Modelから文字列を取得し表示します。
また、先程のtestAppを使います。
    それでは、コマンドプロンプトにて
ruby script/generate model OutMessage mesid:integer message:string
     と入力してください。すると、「色々出来ましたよ」って出力が出てきます。
     これで、モデルクラス(Table)が出来ました。
     次に、モデルオブジェクト(Record)を作成して、表示してみます。
     (ここでは、ActiveRecordを使用しています。)
     それでは、先程のhelloActを次のように変更してください。
  def helloAct
     OutMessages.create(:mesid => 1 ,:message => "New Model Create!!") # オブジェクト追加
     @mes = OutMessages.find(1).message  # 追加したオブジェクトの表示
  end
    ここでは、OutMessages.create(...)でモデルオブジェクトを追加しています。
    OutMessageがOutMessagesになっていることに注意してください。
    そして、OutMessages.find(... にて、表示しています。
    それでは、コマンドプロンプトにて"ruby script/server"を実行して、
    http://localhost:3000/hello_cont/helloActにアクセスしてみてください。
    文字列が出てきたと思います。

ここまで来るのに、結構苦労しました。
特に規約による作り込み方法を理解するのに大変でした。。。
Railsは、プログラムよりも、規約をきちんと読んだ方がいいなぁと思いました。

おわり。




スポンサーサイト

テーマ : ソフトウェア開発
ジャンル : コンピュータ

コメントの投稿

非公開コメント

プロフィール

ss_9

名前 :ss_9
紹介 :
20代はエンジニア、30代はプロ、40代は管理、50代は人脈。

Twitterボタン

最新記事
カテゴリ
AD
月別アーカイブ
RSSリンクの表示
RSSリンクの表示
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。