我正在尝试创建一个联系表单以允许用户联系网站的所有者,但我得到了一个无法摆脱的错误......
我在控制台中收到此错误:
名称错误 - 未初始化的常量联系人控制器: 已启动 POST "/__better_errors/e029756238b49ce0/variables" ...
而本地页面中的此错误:
名称错误在/联系人.html 未初始化常量 接触控制器
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
发现差异 - ContactController
vs ContactsController
(一个复数,另一个不是(
如果您以这种方式设置路由,以便控制器具有单数名称 - 重命名它(和文件(以匹配或更改路由。