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

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

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

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

HTML

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

Q&A

解決済

2回答

223閲覧

ウェブサイトへのRubyプログラム組み込み

Osmm

総合スコア16

Ruby

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

HTML

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

0グッド

1クリップ

投稿2019/01/31 14:54

#現状

現在、htmlとCSSで構成されたウェブサイトの管理をしています。
ここに問い合わせフォームをつけるということで、その方法を探しています。

Rubyで簡単な処理プログラムを書く程度ならできますので、Rubyで進めたいです。
問い合わせフォーム自体を作るためのgem探しやその書き方は頑張ってこなせそうなのですが、肝心のできたプログラムを既存のウェブサイトに組み込む方法がイメージできません。

#進行案と質問
A)シンプルにrailsを使わずerbで埋め込む
=>erbをrailsなし(gemをrailsなしで)で使うことはできるのか?

B)Railsでアプリを作って既存ページの下層に配置する
=>DBを使うわないのに大げさな気がする。同ドメインの中でそもそもそういうことができるのか?

#備考
最終手段として外部の問い合わせフォームレンタルサービスを使う事も考えてますが、できる限り内製してみたいです。

初歩的な質問ですがどなたかご助力ください。

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

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

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

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

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

guest

回答2

0

ベストアンサー

細かく全部のやり方まで書いてしまうと長くなりそうだったので、キーワードと概要だけだします。

  • CGI
    前世紀からある方法です。アクセスの度にプロセス起動があるため重いですが、Railsのように巨大である、秒間数百といった大量のアクセスを裁かなければならない、と言うことが無ければ十分です。Apache HTTP Serverの場合は簡単に設置できますが、nginxの場合はfcgiwrap等を使用する必要があり、ちょっと面倒になります。
    ERBはerbライブラリを使用して組み込みます。
  • AddType/Action + erb.cgi
    Apache HTTP Serverでしか使えませんが、ERBのファイル(通常は.rhtmlという名前にします)をそのままCGIのように使う方法があります。重さはCGIと同じです。
  • FastCGI
    CGIの欠点であるアクセスの度にプロセス起動を解決した方法です。少し書き換えが必要ですが、CGIをそのまま流用することも出来ます。Apache HTTP Serverとnginxどちらでも使用可能です。
  • Rack
    RackはRubyのデファクトスタンダードなWebインターフェースを提供するものです。RalisもRack上で動作するようにできています。CGIやFastCGIで動作させることも出来ますし、Railsのようにpumaやunicornを使って動作させることもできます。
    Rack自体はインターフェースしか用意しませんので、そのままこれだけを使うのは少し大変になります。
  • Rack + Sinatra
    SinatraはRubyのシンフレームワークです。Railsと同じくRack上で動作します。フルスタックフレームワークであるRailsとの違いは、必要最低限の基本機能を用意し、必要なものを付け足していくという方式です。といってもERBを使うことは可能です。動かし方もRailsとそれほど違いはありません。

簡易な物であればCGI、ちょっと本格的な物であればRack + Sinatra(pumaを使用)をお勧めしておきます。

投稿2019/01/31 18:40

raccy

総合スコア21735

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

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

Osmm

2019/02/01 03:23 編集

CGIで進めようと思い、 既存のhtmlをhtml.erbに拡張子を変更して試してみたのですが、<%= %>内に書いたコードがプログラムとして認識されませんでした。 require '...' を書いても動かず、どうやってERBのライブラリを読み込めば良いのかがわかりません。 (かなり基本的な部分で自分の理解が間違っている感じがします)
raccy

2019/02/01 10:19 編集

erbライブラリの使い方は下記などを参考にしてください。 https://docs.ruby-lang.org/ja/latest/class/ERB.html erbファイルをただおいてもerbとしては認識されません。他のCGIファイルの中でerbファイルの中身を読み込み、ERBに渡す必要があります。Rails等も見えないところでそのようにしているだけです。erb自体を実行しているわけではありません。
guest

0

RubyでもCGI的に使うことはできるのでフォームくらいならそれでいいのでは。
form.rbのような1ファイルで作ってhttp://example/form.rbで表示。
Railsは明らかに過剰。

Railsしか知らない場合はそもそもの発想をかなり変えないと辛いけど。
これはたぶん2005年とかで古いけどRails前のRubyの使われ方はこんなもの。
https://magazine.rubyist.net/articles/0011/0011-CGIProgrammingForRubyBeginners.html

投稿2019/01/31 17:21

kawax

総合スコア10377

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問