Projeto: Vermelho

logs of development
スポンサーサイト

一定期間更新がないため広告を表示しています

| - | | - | -
RubyのCGIコーディングにはスペース行が必要
まず、エラーのCGIファイル
Mysqlにデータを書き込むCGIファイル"add.cgi"
DBへの登録が成功もしくは失敗すると、所定のページへ移動するはず.

#!/usr/bin/ruby
require 'cgi'
require 'mysql'
cgi = CGI.new
f_name = cgi['name']
db = Mysql.new("localhost","root","","welcia_renraku")
begin
query = "insert into test (name) values ('#{f_name}')"
res = db.query(query)
rescue
puts "Location: http://192.168.0.231/welcia/renraku/index.html"
end
puts "Location: http://192.168.0.231/welcia/renraku/index.html"


もうひとつ、erbを受け持つルビーファイル"erb_run.rb"
ファイルのパスおよび経線をすべてのページに表示させるはず.

#!/usr/bin/ruby

require 'erb'
require 'cgi'
require 'mysql'
require 'date'

path = ENV['DOCUMENT_ROOT']
puts "Content-Type: text/html; charset=UTF8"
puts "[ERB:" + ENV['PATH_TRANSLATED'] + "]
"
ERB.new(IO.read(ENV['PATH_TRANSLATED']),nil,nil,"_erbin").run


どちらも正常に表示されません.前者は500 Internal Server Errorを表示(しかし、DBには登録完了している)し、後者は、ファイルのパスと経線が表示されない.

その解決方法は…
続きを読む >>
| Pg_Ruby_CGI | 07:31 | comments(1) | trackbacks(0)
RubyでMySQLの特定フィールドのレコードを呼び出す
vi mysql.rb

#!/usr/bin/ruby
require 'mysql'
db = Mysql.new('localhost','user','password')
#MySQLに接続
db.select_db('TEST_RUBY')
#データベース「TEST_RUBY」を選択
res = db.query("select * from test_table")
#クエリ発行(テーブル「test_table」からすべてのレコードを抽出)
res.each do |p|
puts p[0] + "," + p[1]]
#フィールドひとつめ[0]とふたつめ[1]のレコードをすべて出力
end
object.close

結果は…
続きを読む >>
| Pg_Ruby_CGI | 23:35 | comments(0) | trackbacks(0)
RubyでMySQLを使う
Ruby で記述された MySQL の Ruby API”ruby-mysql”を組み込む。
http://www.tmtm.org/ruby/mysql/からファイルをダウンロード。
$ wget http://www.tmtm.org/ruby/mysql/ruby-mysql-0.2.6.tar.gz
ダウンロードしたディレクトリに移動した後に…
$ tar xvzf ruby-mysql-0.2.6.tar.gz
$ cd ruby-mysql-0.2.6
$ ruby ./setup.rb
$ ruby ./test.rb "hostname" "user" "passwd"
$ ruby ./install.rb
続きを読む >>
| Pg_Ruby_CGI | 06:39 | comments(0) | trackbacks(1)
rubyのERB Classで、テンプレートエンジンを作る
まず、apacheの設定.CGIの動作を許可.
/etc/httpd/conf/httpd.conf

の中の以下の部分を修正
#Options Indexes FollowSymLinks ←コメントアウト
Options Includes ExecCGI FollowSymLinks #← CGI,SSI許可、ファイル一覧表示禁止

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" #パスを確認

#
# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/var/www/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

#AddHandler cgi-script .cgi
AddHandler cgi-script .cgi .pl #拡張子追加
続きを読む >>
| Pg_Ruby_CGI | 07:09 | comments(0) | trackbacks(1)