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
クローラー作成メモ

クローラーの違法性が気になる。 http://ja.wikipedia.org/ …

ruby-logo
【rails】最初のお約束コマンド(rails news, scaffold, db:migrate)

最初のプロジェクト作成 ーMVCの作成ーテーブルの作成 rails new プロ …

ruby-logo
【ruby】rubyスクリプトをcronで実行

rubyをcronで動かす場合、結構、環境変数を設定しないといけない。 cron …

ruby-logo
[ruby]mysqlからマルチバイト文字を取得したときに、\16進文字コードになる

で、putsじゃないとうまく表示されない。 こんな感じでしか表示されない \x8 …

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

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