2016-08-31 4 views
-1

ich bin gotting diesen Fehler von meiner Web-Seite, wenn ich zu gehen versuchen, „localhost: 3000/suscribir“ Ich habe diesen Fehler bekam:Ungültige MailChimp Liste ID - Rails

Missing template subscribe/create, application/create with {:locale=>[:es, :en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}. 

dies ist meine Routen. rb Datei ...

post '/suscribir' => 'subscribe#create' 
    mount Refinery::Core::Engine, at: Refinery::Core.mounted_path 

dies ist der Controller abonnieren ...

class SubscribeController < ApplicationController 
    def create 
    logger.info "suscripcion #{params.inspect}" 
    user = user_params(params) 
    MailchimpWrapper.subscribe(user, params[:group_name], params[:group]) 
    redirect_to '/gracias' 
    rescue Mailchimp::Error => e 
    logger.error "ERROR mailchimp #{e.message} #{params.inspect}" 
    end 

    private 

    def user_params(params) 
    user = { 
     email: params[:email].try(:downcase), 
     first_name: params[:first_name].try(:titleize), 
     last_name: params[:last_name].try(:titleize), 
     city: params[:city].try(:titleize), 
     phone: params[:phone], 
     comment: params[:comment].try(:titleize) 
    } 
    user 
    end 
end 

können Sie überprüfen Sie die Zeile "redirect_to '/gracias'"

und dies ist der gracias.html.erb:

<section class="container thanks-subscribe"> 
    <span>Gracias por suscribirte!</span> 
    <p>Si es la primera vez que te registras a nuestra lista de contactos, revisa tu correo. Te estaremos enviando un correo de confirmación</p> 
    <a href="/home"><button>Regresa a la página principal y sigue navegando</button></a> 
</section> 

ohne Rettung von MailChimp ich diese Fehlermeldung bekam ..

SyntaxError in SubscribeController#create 
C:/Sites/ifurniture/app/controllers/subscribe_controller.rb:22: syntax error, unexpected end-of-input, expecting keyword_end 

so dass ich die subscribe_controller.rb bearbeitet es aussieht:

class SubscribeController < ApplicationController 
    def create 
    logger.info "suscripcion #{params.inspect}" 
    user = user_params(params) 
    MailchimpWrapper.subscribe(user, params[:group_name], params[:group]) 
    redirect_to '/gracias' 
    end 

    private 

    def user_params(params) 
    user = { 
     email: params[:email].try(:downcase), 
     first_name: params[:first_name].try(:titleize), 
     last_name: params[:last_name].try(:titleize), 
     city: params[:city].try(:titleize), 
     phone: params[:phone], 
     comment: params[:comment].try(:titleize) 
    } 
    user 
    end 
end 

und gibt mir diesen Fehler:

Mailchimp::Error in SubscribeController#create 
You must provide a MailChimp API key 

ist dies die mailchimp_wrapper.rb Datei:

module MailchimpWrapper 
    def self.subscribe(user, group_name = nil, group = nil) 
    mailchimp = Mailchimp::API.new(ENV['MAILCHIMP_API_KEY']) 
    merge_vars = merge_vars_hash(user, group_name, group) 
    mailchimp.lists.subscribe(
     ENV['MAILCHIMP_LIST_ID'], 
     { email: user[:email] }, 
     merge_vars, 
     'html', 
     true, 
     true, 
     false, 
     false 
    ) 
    end 

i gesetzt te ENV API_KEY und die Listen-ID, aber jetzt diesen Fehler ich erhalte ..

Mailchimp::ListDoesNotExistError in SubscribeController#create 
Invalid MailChimp List ID: 

i überprüfen und die Daten sind korrekt, die API und die ID-Liste ... in MailChimp in den Protokollen sah ich den Fehler 200 List_DoesNotExist

Ich werde für Ihre Hilfe, danke.

+0

Würden Sie bitte veröffentlichen, was 'logger.info' und' zeigen logger.error'? – jvillian

+0

Haben Sie die Umgebungsvariable 'MAILCHIMP_API_KEY' gesetzt? – kobaltz

+0

nicht gefassten war, habe ich es tun, und jetzt habe ich diesen Fehler 'Mailchimp :: ListDoesNotExistError in SubscribeController # Ungültige MailChimp Liste ID erstellen:' und die Listen-ID ist die richtige. – iFurniture

Antwort

2

Nicht retten von Mailchimp::Error und sehen, was Sie tatsächlich Fehler sind.

In Ihrer Rettung werden Sie nichts umleiten oder rendern, was bedeutet, dass es versucht, die Vorlage für die Aktion zu rendern, die in Ihrem Fall create auf subscribers ist.

+0

Ich lösche die Rettung und ich habe diesen Fehler: 'SyntaxError in SubscribeController # erstellen C:/Sites/ifurniture/app/controllers/subscribe_controller.rb: 22: Syntaxfehler, unerwartetes Ende der Eingabe, erwartet keyword_end' – iFurniture

+0

Ich habe die Syntax geändert und jetzt habe ich dieses Problem 'Mailchimp :: ListDoesNotExistError in SubscribeController # erstellen ungültige MailChimp List ID:' und die Liste ID ist die Korrekt – iFurniture

0

falsche Syntax Geck

def create 
    begin 
     logger.info "suscripcion #{params.inspect}" 
     user = user_params(params) 
     MailchimpWrapper.subscribe(user, params[:group_name], params[:group]) 
     redirect_to '/gracias' 
    rescue Mailchimp::Error => e 
     logger.error "ERROR mailchimp #{e.message} #{params.inspect}" 
    end 
    end 
+0

Das Problem geht weiter, ist kein Problem der Syntax. – iFurniture

+0

Ich habe es übersehen, haben Sie eine create template hinzugefügt? andernfalls solltest du rendern (: neu) weil es keine Vorlage gefunden hat, die mit der Route verknüpft ist. – Thounder

+0

ich habe die fehlende Vorlage gelöst und die Rettung von mailchimp entfernt, aber jetzt bekomme ich "ungültige Liste ID" – iFurniture