感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

Railsでコントローラからビューにリクエストを飛ばしてみる。

スポンサーリンク

ERB(Embedded Ruby)とは

ERBテンプレートとは、HTMLにRubyスクリプトを埋め込むための仕組みのこと。
JavaでいうとJSPみたいなものかな?
HTMLにスクリプトを埋め込むのって厳密にいうとMVCになってないと思うんだけど・・・。
ERBテンプレートとは、HTMLにRubyスクリプトを埋め込むための仕組みのこと。
Rubyスクリプトを埋め込むことで、っ条件分岐や繰り返し構文を書くことができる。
ビューヘルパーを利用して、DBから取得した値に基づいたリンクやフォーム要素をシンプルなコードで生成できる・・・らしい。

とりあえず見てみよう。

動的な処理は以下のように記述する。

<% 任意のコード %>
<%= なんらかの値を返す式 %>

JSPみたいだ!

コントローラーにviewアクションを記述する

\app\controllers以下に、
hello_controller.rb

# coding: utf-8

class HelloController < ApplicationController
	def view
		@tax = 0.05
	end
end

これで、リクエストをviewに飛ばすことができる。
で、Rails特有の命名規則。
\app\views\hello以下に
view.html.erbというファイルを置く。
この\app\viewsというのはデフォルトで置いてある。
helloというコントローラから飛ばされるから、「hello」フォルダを作成する。
そのhelloコントローラからviewというアクションに飛ばすから、view.html.erbという名前になる。
つまり、コントローラ名\アクション名.html.erbという命名規則に従うことで、あとはRailsがよろしくやってくれる。

\app\views\hello以下の
view.html.erb

<div id="main">
<% price = 1000 
result = price * @tax  
%>
<%= result %>
</div>

で、

http://localhost:3000/hello/view

にリクエストを飛ばすと、
「50.0」と表示される。

ERBのコメントアウト方法

<%# comment %>
<%#
multiple
comments
%>
  • 条件分岐を使ったコメントアウト
<% if false %>
<% msg = 'hoge' %>
<%='fuga' %>
<% end %>
  • begin endを使ったコメントアウト
<%
=begin
%>
<% msg='ignore' %>
<%='igonore' %>
<%
=end
%>

勉強した本

Ruby on Rails 3 アプリケーションプログラミング

Ruby on Rails 3 アプリケーションプログラミング


説明が細かくてすごくいい!わかりやすい!!
さくさく動かしながら勉強できて、皆さんが勧める理由がわかった。

感謝のプログラミング

今回で感謝のプログラミングは【579時間目】
10000時間まで、あと【9421時間】