我是透過網頁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
我會在看你的幫助,謝謝。
你介意張貼什麼'logger.info'和'logger.error'說明了什麼? – jvillian
你有'MAILCHIMP_API_KEY'環境變量集嗎? – kobaltz
沒有設置好的,我這樣做,現在我得到這個錯誤 'Mailchimp :: ListDoesNotExistError在SubscribeController#創建 無效MailChimp列表ID:' 和列表ID是正確的。 – iFurniture