For Want Of A Better Word

【Ruby】ERB(埋め込みRuby)でPHPっぽいRuby

      2015/05/22

PHPにちょっと飽きてきた。

いうほど使い込んでないけど。

 

Rubyる。

で、Rilsを使うほどの事はしないし、とはいえcgiもなんか気に入らない。HTMLを一つ一つ吐き出すとかやだなぁ。PHPみたいにHTMLに埋め込んで使えるのが楽なんだけどなぁ。

ということで、なにやらruby1.8から「ERB」というのがあるらしいのでこれでHTMLへの埋め込みは出来そう。
Rubyのマイクロフレームワーク「sinatra」も考えたけど、一回得erbこれを固める。

※RailsとかCakeとか色々やってくれるフレームワーク使うより、作っている感があっていいよね。

インストール

Ruby

Rubyのインストール

yumると…

rubyx86_64    1.8.7.374-3.el6_6 updates538 k

ふるいー!

やんたくなるな、PHPも古いしな。

ソースからビルド(下記から最新版を確認)
ダウンロード

yum install zlib openssl gcc make zlib-developenssl-devel

wgethttp://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.tar.gz
tar -zxvf ruby-2.2.0.tar.gz
cd ruby-2.2.0.tar.gz
./configure #/usr/local にインストール
make
make install

したっけ

/usr/bin/ld: ./libffi-3.2.1/.libs/libffi.a(raw_api.o): relocation R_X86_64_32 against `.text’ can not be used when making a shared object; recompile with -fPIC
./libffi-3.2.1/.libs/libffi.a: could not read symbols: Bad value
collect2: ld はステータス 1 で終了しました

もーいいや、パッケージ管理ツールで入れた方がええし、遊ぶだけなら多少古くても。

yumで入れた。

# ruby -v
ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]

ERB(rubyをHTMLに埋め込む用)

まず、cgiで動かす設定。
[http://note.kurodigi.com/apache-cgi/>>

自分はバーチャルホストで切っているので、ディレクティブの中に、下記設定してapache 再起動。

 

cgiは動いた。

ERBによるWebアプリケーション開発(3/3):初心者のためのRubyプログラミング入門

 

そしてERBを使うにはっと、下記の形式が簡単でした。 入力をerbで処理してくれるcgiを作って、rhtml等の拡張子は全部そのcgiをかませると。

でrubyソースはこんな感じ。

はーこれで、PHPライクにrubyを扱える。。。その発想が間違えているのかな。

テンプレート内で出力する時は


 

【参考】Rubyでテキストにコードを埋め込む。|ERBでテンプレート利用 – むかぁ~ どっと こむ

(追記!)

rubyを yumでruby1.9.3にしたらcgiが動かなくなった。。
やっぱ、railsにしとくがよいのかな。

 - ruby

  関連記事

ruby-logo
【Ruby】Railsチュートリアル

第2章 デモ&#x30A …

ruby-logo
【ruby】rubyで文字列比較がうまくいかないときは文字エンコードに注意

mysqlからqueryで取得した値と、マルチバイトの文字列を比較したときにどう …

ruby-logo
rubyの基本 | ちょっときになったところメモ_2

foreachは各オブジェクトのeachメソッドで。 array.each do …

ruby-logo
【wkhtml】【ruby】rubyでキャプチャを取る

PHPで作った奴をRubyでもやってみようと。 こっちはGDではなく、Image …

ruby-logo
[ruby][rails]form_tagのセレクトボックスの初期値設定

selecte …