質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

951閲覧

Ruby リストへのハイパーリンクの張り方

COACHnyo

総合スコア1

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/06/18 21:29

前提・実現したいこと

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

試したこと

試したことは、コードを見ていただければわかると思うのですが、リンクの所に打ち込まれたアドレスを張るようにしています
何をどうすればよいのかわかりません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

res.body << "<p>" + row[0] + "<a href=" '#{req.query["address"]}' "> #{req.query["address"]} </a>" + "<rb/>" + "</p>"

req.query[address]となっていますが、row[1]の誤りかと思います。

投稿2020/06/18 22:55

asm

総合スコア15147

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

COACHnyo

2020/06/18 23:50

ご協力ありがとうございます。 回数を重ねて試行しているうちにどれを試してどれを試してないかすら分からなくなっていましたので、非常に助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問