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

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

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

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

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Q&A

解決済

1回答

196閲覧

Windows環境でHTMLにRubyを埋め込んでWeb上に表示させる方法

yusn

総合スコア24

Ruby

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

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

0グッド

0クリップ

投稿2018/11/26 14:49

RubyをHTMLに埋め込んだうえでWebブラウザ上に表示させる方法を教えてほしいです。

色々調べているとRubyをHTMLに埋め込むには
<%~%>

または

<%=~~~%>

であると書いてありました。

なので実際に

Ruby
require "sinatra" def set_greeting_message hour=time_japan name=params["target_name"] age=params["target_age"] message_prefix= if (6..11).cover?(hour) こんにちは elsif (12..18).cover?(hour) "こんにちは" else こんばんは end base_message=",#{name}さん(#{age}歳)" @greeting="#{message_prefix}#{base_message}" end alias set_time_japan time_japan get "/" do set_time_japan erb :index end post "/" do set_time_japan set_greeting_message erb :index end

HTML
`<!DOCTYPE>

<html lang="ja"> <head> <meta charset="URF-8"> <title>タイトル</title> </head> <body> <form action="/" method="POST"> <label>名前: <input type="text" name="target_name" value="foo"></label> <label>年齢: <input type="text" name="target_age" value="12"></label> <input type="submit" value="送信"> </form> <p>今は<%=@time_japan%>時です。</p> <p><%=@greeting%></p> </body> </html> `

と打ち込んでGoogle Chromeに表示させてみた結果、Rubyで書いたところは

今は<%=@time_japan%>時です。

<%=@greeting%>

と表示されました。

Web上に正しく表示させるにはどうしたらいいのでしょうか?

どなたかよろしくお願いします。

なお、HTMLの拡張子はindex.html
Rubyの拡張子はa.rbです。

また、このソースはteratailのとある回答を抜粋しています。

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

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

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

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

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

guest

回答1

0

ベストアンサー

まずは、sinatraの使い方を調べましょう。

Google Chromeに表示させてみた

書いたindex.htmlをそのまま表示させたのなら、そのまま表示されるのは当然です。

また、このソースはteratailのとある回答を抜粋しています。

その回答は、sinatraとは何であり、どう利用するのかを理解している人向けなのでしょう。

なお、

RubyをHTMLに埋め込むには・・・・・・

という理解も間違っています。
正しくは、「HTMLを動的に生成する際に、Rubyの埋め込みを使いたいときには、erbというプログラムを使う。そのerbでのRubyコードの記法は<%~~~%>などを使う」です。

投稿2018/11/26 15:28

otn

総合スコア84505

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

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

yusn

2018/11/27 10:56

sinatraを使ったら正しくブラウザ上に表示されました。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問