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

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

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

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

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

0回答

331閲覧

問い合わせフォームがDBにアクセスされるようになり表示されなくなった

KOO_

総合スコア58

Ruby

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

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

1グッド

1クリップ

投稿2019/02/09 06:42

こんにちは。

問い合わせフォームについてご質問させて頂ければと存じます。

https://www.imd-net.com/column/1731/

上記サイトを参考にして、過去に問い合わせフォームを作成しました。

最近になってアクセスしてみると、エラーが発生しておりました。

ActiveRecord::StatementInvalid (Could not find table 'contacts'): app/controllers/contacts_controller.rb:5:in `index'

エラーは上記となっており、テーブルが見つからないと書いてあるのですが、元々テーブルにはアクセスしないように構築しており、エラーの解消が出来ずにいます。

以下がmodelとcontrollerです。

model

1class Contact < ApplicationRecord 2 include ActiveModel::Model 3 4 attr_accessor :company, :name, :tel, :email, :address, :message 5 6 validates :company, {presence: true} 7 validates :name, {presence: true} 8 validates :tel, {presence: true} 9 validates :email, {presence: true} 10 validates :address, {presence: true} 11 validates :message, {presence: true} 12end 13
class ContactsController < ApplicationController add_breadcrumb 'トップページ', '/' def index @contact = Contact.new add_breadcrumb 'お問い合わせフォーム', '/contacts' render :action => 'index' end def confirm @contact = Contact.new(contact_params) add_breadcrumb 'お問い合わせフォーム', '/contacts' add_breadcrumb 'お問い合わせ確認', '/contacts/confirm' if @contact.valid? render :action => 'confirm' else render :action => 'index' end end def thanks @contact = Contact.new(contact_params) add_breadcrumb 'お問い合わせフォーム', '/contacts' add_breadcrumb 'お問い合わせ確認', '/contacts/confirm' add_breadcrumb 'お問い合わせ完了', '/contacts/thanks' ContactMailer.received_email(@contact).deliver render :action => 'thanks' end private def contact_params params.require(:contact).permit( :company, #会社名 :name, #代表者名 :tel, #電話番号 :address, #住所 :email, #メールアドレス :message #本文 ) end end
bochan2👍を押しています

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

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

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

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

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

psuke

2019/02/10 05:52

「元々テーブルにはアクセスしないように構築しており」と記載されている背景がよくわからないのですが、エラーを出しているcontacts_controllerの5行目でContact.newをしていますから、contactsのスキーマを取りに行きますよね。DBに直接アクセスするなど、contactsテーブルにアクセスできるかどうか、切り分けた方がいいのではないでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問