お問合せページの実装 ~ChatGPTと一緒に一問一答アプリを開発した話⑧~

eyecatch-wchatgpt-8

「一問一答アプリ × ChatGPT」

先日、ChatGPTを活用して一問一答アプリケーション「情報1 一問一答トレーニングGYM」を開発したことをお伝えしました。

▶︎こちらの記事で紹介しています。

iqatlogo2【ChatGPTと開発】高校「情報1」一問一答アプリ

私が開発したこのアプリは、ChatGPTの力を借りながら、実装していきました。

この記事では、一問一答アプリ × ChatGPTの開発の舞台裏や、実際の活用方法について詳しく解説します。

今回は

  • お問合せページの実装

にあたって、どのように役立ったのか、その様子を紹介します!

目的

img-4372v2

作成には万全を期しているものの、誤植などはユーザーの方が見つけやすいもの。そういったコンタクトをいただくために、お問合せページを実装しようと考えました。

コトゼニ
コトゼニ

お問合せはオーソドックスなもので問題ないので、chatGPTに土台を作ってもらおう

手順1:ビューファイルを作成

programming

お問い合わせページに余分な機能は必要ないので、必要最小限なものだけを実装しようと考えました。そのため、オーソドックスなものであればchatGPTはどれだけ「そのまま流用できるコード」を返してくれるのか、非常に興味があったので、プロンプトを投げました。

対話履歴6(お問合せページ)
コトゼニ
コトゼニ

お問い合わせページで必要な情報です。以下の要件を満たすビューファイルを作ってください。

▼要件:

①ページURLは/contactとする。HTTPメソッドはget②h2タグで「お問い合わせ」と表記③h2タグの下にお問い合わせページに関する簡易説明文を50字程度で作る④フォームの内容は上から順に「氏名(必須)」「メールアドレス(必須)」「題名(必須)」「メッセージ本文」とする。また、送信ボタンと「メッセージ本文」の間に、個人情報に関する規約に同意するのチェックボタンを設置する。個人情報に関する規約についてはスクロールボックスにする

chatGPT
chatGPT

以下は、要件を満たすビューファイルの例です。

<!-- app/views/contact/index.html.erb -->

<h2>お問い合わせ</h2>

<p>お問い合わせページに関する簡易説明文をここに記述してください(50字程度)。</p>

<%= form_with url: "/contact", method: "get" do |form| %>
  <div>
    <%= form.label :name, "氏名(必須)" %>
    <%= form.text_field :name, required: true %>
  </div>
  
  <div>
    <%= form.label :email, "メールアドレス(必須)" %>
    <%= form.email_field :email, required: true %>
  </div>
  
  <div>
    <%= form.label :subject, "題名(必須)" %>
    <%= form.text_field :subject, required: true %>
  </div>
  
  <div>
    <%= form.label :message, "メッセージ本文" %>
    <%= form.text_area :message %>
  </div>
  
  <div>
    <%= form.check_box :agree_to_privacy_policy %>
    <%= form.label :agree_to_privacy_policy, "個人情報に関する規約に同意する" %>
    
    <div class="privacy-policy-modal">
      <div class="scroll-box">
        <p>ここに個人情報利用規約の文章を記載します。</p>
        <p>ここに個人情報利用規約の文章を記載します。</p>
        <p>ここに個人情報利用規約の文章を記載します。</p>
        <p>ここに個人情報利用規約の文章を記載します。</p>
        <p>ここに個人情報利用規約の文章を記載します。</p>
        <p>ここに個人情報利用規約の文章を記載します。</p>
        <p>ここに個人情報利用規約の文章を記載します。</p>
        <p>ここに個人情報利用規約の文章を記載します。</p>
        <p>ここに個人情報利用規約の文章を記載します。</p>
        <p>ここに個人情報利用規約の文章を記載します。</p>
      </div>
    </div>
  </div>
  
  <div>
    <%= form.submit "送信" %>
  </div>
<% end %>

手順2:コントローラー、ルーティングを作成

cyber
コトゼニ
コトゼニ

すごい…この調子でルーティングやコントローラーも土台を作ってもらおう

ということで、ビューファイルを呼び出すために、ルーティングとコントローラーを設定する必要がありますので、プロンプトを投げました。

対話履歴7(お問合せページ2)
コトゼニ
コトゼニ

それでは、お問い合わせフォームに対応し、かつ自動返信機能を備えたコントローラーのコード例を書いてください。また、もし必要ならルーティングのコードも書いてください。

chatGPT
chatGPT

以下は、要件を満たすビューファイルの例です。

class ContactsController < ApplicationController
  def new
    @contact = Contact.new
  end

  def create
    @contact = Contact.new(contact_params)
    if @contact.save
      # お問い合わせフォームの入力内容を自動返信メールに記載
      ContactMailer.send_when_create(@contact).deliver_now
      # 送信完了ページへリダイレクト
      redirect_to thanks_path
    else
      render :new
    end
  end

  private

  def contact_params
    params.require(:contact).permit(:name, :email, :title, :message, :confirming)
  end
end
Rails.application.routes.draw do
  get '/contact', to: 'contacts#new'
  post '/contact', to: 'contacts#create'
  get '/thanks', to: 'contacts#thanks'
end

という回答をもらいました。

コトゼニ
コトゼニ

ほぼほぼ使えますやん…!

ということで、一部加筆修正しましたが実装したプロトタイプがこちら

お問合せページ

オーソドックスなものであればそのまま流用できるようなコードを返してくれるのはchatGPTの便利なところですね。

まとめ

今回の開発作業で

  • お問合せページの実装

ができました。

ChatGPTを利用すると開発がグンと楽になりますね!ChatGPTの可能性を体験してみてはいかがでしょうか?

最後まで読んでいただきありがとうございました。

この記事が少しでも参考になれば幸いです。

それではまたここで会いましょう!

ブログランキング・にほんブログ村へにほんブログ村

ブログ村に参加中です。上のバナーをクリックいただくだけで当ブログにポイントが入ります。いつも応援クリックありがとうございます。

Twitter

Twitter やってます。

新着記事のお知らせをしていますのでぜひフォローしてください!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA