NameError - неинициализированная константа ContactController - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь создать контактную форму, чтобы пользователь мог связаться с владельцем сайта, но я получил ошибку, от которой не могу избавиться ...

Я получил эту ошибку в моей консоли:

NameError - неинициализированная константа ContactController: Началось POST "/ __ better_errors / e029756238b49ce0 / variable" для ...

И эта ошибка на локальной странице:

NameError в /contact.html неинициализированная константа ContactController

raise(e) unless e.name == const_name
            # If the constant was actually loaded, something else went wrong?
            raise(e) if from_mod.const_defined?(const_name)
            CoreExt::ActiveSupport.without_bootsnap_cache { super }
          end

с подсветкой на CoreExt::ActiveSupport.without_bootsnap_cache { super }

Я положил это в мой contacts_controller.rb:

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

    def create
        @contact = Contact.new params[:contact]

        if @contact.valid?
          ContactMailer.contact_form(@contact).deliver_now
          redirect_to contact_path, flash: {success: t(:"create.message_has_been_sent")}
        else
          render :new
        end
    end
end

У меня есть это в моем contact_mailer.rb:

class ContactMailer < ApplicationMailer
    layout 'mailer'

    def contact_form(contact)
      @contact = contact
      @to = "zigzago@protonmail.com"

      mail(to: @to, subject: "Nouveau contact depuis le site") do |format|
        format.html
      end
    end
end

1 Ответ

0 голосов
/ 04 июня 2019

Найдите разницу - ContactController против ContactsController (одно множественное число, другое нет)

Если ваши маршруты настроены таким образом, чтобы у контроллера было единственное имя - переименуйте его (и файл) для соответствия или измените маршруты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...