2016-08-31 30 views
-1

我是透過網頁gotting這個錯誤,當我嘗試去爲「localhost:3000/suscribir」我得到這個錯誤:無效MailChimp列表ID - Rails的

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

這是我的路線。 RB文件...

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

這是訂閱控制器...

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 

您可以檢查線路 「redirect_to '/gracias'

,這是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> 

未經mailchimp我得到這個錯誤救援..

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

所以我編輯它的外觀subscribe_controller.rb:

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 

並給出了這個錯誤:

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

這是mailchimp_wrapper.rb文件:

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 

我將TE ENV API_KEY和表ID,但現在我得到這個錯誤..

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

我檢查和數據是正確的,API和ID列表...在MailChimp在日誌中我看到了錯誤200 List_DoesNotExist

我會在看你的幫助,謝謝。

+0

你介意張貼什麼'logger.info'和'logger.error'說明了什麼? – jvillian

+0

你有'MAILCHIMP_API_KEY'環境變量集嗎? – kobaltz

+0

沒有設置好的,我這樣做,現在我得到這個錯誤 'Mailchimp :: ListDoesNotExistError在SubscribeController#創建 無效MailChimp列表ID:' 和列表ID是正確的。 – iFurniture

回答

2

請勿從Mailchimp::Error中解救出來,看看您的實際錯誤是什麼。

在您的解救中,您不會重定向或呈現任何意味着它將嘗試呈現該動作的模板,在您的案例中,該模板爲createsubscribers

+0

我刪除了救援並且出現了該錯誤: 'SubscribeController中的SyntaxError#create C:/ Sites/ifurniture/app/controllers/subscribe_controller。rb:22:語法錯誤,意外的輸入結束,期待keyword_end' – iFurniture

+0

我修改了語法,現在我得到了這個問題 '訂閱控制器中的Mailchimp :: ListDoesNotExistError#創建無效的MailChimp列表ID:',列表ID是正確 – iFurniture

0

錯誤的語法花花公子

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

問題仍然存在,不是語法問題。 – iFurniture

+0

我錯過了讀它,你添加了創建模板?否則你應該爲render(:new),因爲它沒有找到任何模板鏈接的路線 – Thounder

+0

我解決了失蹤的模板從mailchimp中刪除救援,但現在我得到「無效列表ID」 – iFurniture