前提・実現したいこと
Ruby初心者です。
共有ブックマークアプリを作成しています。
実行するとタイトルとURLの2つを登録し、ハイパーリンクの一覧を表示します。
この際にハイパーリンクを付ける工程で、保存したリスト内のそれぞれにリンクを付けたいのですが、どのようにやっても最後に登録したリンクが張られます。何をどうすれば全く見当がつかなくなりました。
助力お願いします。
該当のソースコード
Ruby
1require 'webrick' 2require 'dbi' 3config = { 4 :Port => 8080, 5 :DocumentRoot => '.' 6} 7server = WEBrick::HTTPServer.new( config ) 8server.mount_proc "/" do |req, res| 9 res.body = <<EOF 10<!DOCTYPE html> 11<html lang="ja"> 12<head><meta charset="utf-8"/></head> 13<body> 14 <form action="/links" method="post"> 15 名前:<input type="text" name="title"> 16 17 <form action="/links" method="get"> 18 URL:<input type="text" name="address"> 19 20 <input type="submit" value="登録"> 21 </form> 22</body> 23</html> 24EOF 25end 26 27server.mount_proc "/links" do |req, res| 28 dbh = DBI.connect( 'DBI:SQLite3:links.db' ) 29 dbh.do("insert into link_tbl values ('#{req.query["title"]}', '#{req.query["address"]}') ") 30 dbh.disconnect 31 32 33 res.body = '<html><body><head><meta charset="utf-8"/></head>' 34 dbh = DBI.connect( 'DBI:SQLite3:links.db' ) 35 dbh.select_all("select title ,address from link_tbl ") do |row| 36 res.body << "<p>" + row[0] + "<a href=" '#{req.query["address"]}' "> #{req.query["address"]} </a>" + "<rb/>" + "</p>" 37 end 38 39 res.body << "</body></html>" 40 dbh.disconnect 41end 42trap(:INT) do 43 server.shutdown 44end 45server.start
試したこと
試したことは、コードを見ていただければわかると思うのですが、リンクの所に打ち込まれたアドレスを張るようにしています
何をどうすればよいのかわかりません。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/18 23:50