2016-08-31 2 views
-1

私はに行くしようとすると私は、私のWebページからこのエラーを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 

この

で購読コントローラ...あなたはライン " redirect_to '/gracias'"を確認することができます

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 

と、これは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ファイルです:私はテENV API_KEYとリストIDを設定したが、今私はこのエラーを取得してい

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 

..

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

がsettedないし、私はそれを行うと、今私はSubscribeController#で、このエラーに 'Mailchimp :: ListDoesNotExistErrorを得た 無効MailChimpリストIDを作成します:' とリストIDは正しいです。 – iFurniture

答えて

2

Mailchimp::Errorから救助せず、実際のエラーを確認してください。

レスキューでは、リダイレクトやレンダリングが行われません。つまり、アクションのテンプレートをレンダリングしようとします(createsubscribers)。

+0

レスキューを削除してエラーが表示されます。 SyntaxError in SubscribeController#create C:/ Sites/ifurniture/app/controllers/subscribe_controllerrb:22:構文エラー、予期しない入力終了、expecting keyword_end' – iFurniture

+0

構文を変更しましたが、今この問題が発生しました SubscribeController#Mailchimp List IDでMailchimp :: ListDoesNotExistErrorが無効です。リスト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

私はそれを読んでいなかった、あなたは作成テンプレートを追加しましたか?それ以外の場合は、レンダリング(:new)のために、ルートにリンクされたテンプレートが見つからないため、 – Thounder

+0

私はテンプレートを解決しましたが、mailchimpからレスキューを削除しましたが、今は "invalid list ID" – iFurniture

関連する問題