première publication. Im essayant de faire mailgun m'envoyer un email pour les nouveaux abonnés mais quand j'ai rempli le formulaire il me donne 500 erreur de serveur interne et TypeError.Erreur de serveur interne Heroku 500, TypeError (aucune conversion implicite de Symbol en Integer):
Erreur journal
Terminé 500 Internal Server Error dans 13ms (ActiveRecord: 4.9ms) TypeError (pas de conversion implicite de symbole en entier):
app/controllers/contacts_controller.rb: 9: en[]' app/controllers/contacts_controller.rb:9:in
create '
Y at-il un problème avec mon ContactsController?
class ContactsController < ApplicationController
def new
@contact = Contact.new
end
def create
@contact = Contact.new(contact_params)
if @contact.save
name = params[:contact][:name]
email = params[:contact][:email]
body = params[:contact][:comments]
ContactMailer.contact_email(name, email, body).deliver
flash[:success] = "Message sent."
redirect_to new_contact_path
else
flash[:danger] = @contact.errors.full_messages.join(", ")
redirect_to new_contact_path
end
end
private
def contact_params
params.require(:contact).permit(:name, :email, :comments)
end
end
contact_email.html.erb
<!DOCTYPE html>
<html>
<head></head>
<body>
<p>You have received a message from the site's contact form, from
<%= "#{ @name }, #{ @email }." %></p>
<p><%= @body %></p>
</body>
</html>
La chose étrange est que si je lance mes codes dans le développement via le serveur Cloud9 il fonctionne très bien, mais dans la production via le serveur heroku il me donne une erreur après avoir essayé pour nous soumettre le formulaire de contact entièrement rempli. J'apprends aussi comment coder en suivant ce website. Le problème est avec la leçon 78.
Inspecter 'params'. Il semble que 'params [: contact]' renvoie 'Array' au lieu de 'Hash' –
' params [: contact] 'est une chaîne ou un tableau, ce n'est pas un hachage. Donc, quand vous faites 'params [: contact] [: nom]' il ne s'attendait pas à: name, il s'attendait à un entier. – SteveTurczyn
Pourriez-vous s'il vous plaît poster votre point de vue et cela aidera à identifier ce que le problème pourrait être dans la construction de vos 'params' – SteveTurczyn