Rails Mailkick 路由没有响应

Rails Mailkick Routes not responding

我已经安装了 gem (https://github.com/ankane/mailkick) 并添加了“退订”link。

<%= link_to "Unsubscribe", mailkick_unsubscribe_url %>

但是当我点击电子邮件中的 link 时,我被重定向到

/mailkick?locale=en/subscriptions/BAhbCUkiHWNocmlzdGluYUBpdHNudXRmYWlyLmNvbQY6BkVUaRBJIglVc2VyBjsARjA=--fe51a96fa69c038b472c76328d726898859befba/unsubscribe?locale=en

哪里没有响应 mailkick 路由。

Routes.rb

Rails.application.routes.draw do

  get '/(:locale)' => 'pages#welcome'

  scope ":locale", locale: /en|it/ do 
   ...
  end 
end

我在 Routes.rb

中没有找到任何关于 mailkick 的信息

您的项目路由和 mailkick gem 路由之间似乎存在区域设置问题。 /mailkick 端点可能在语言环境范围之外附加自身。

您可以尝试在 scope ":local"..

下的您的路线中添加来自 gem 路线 (Source) 的相同路线
Rails.application.routes.draw do

  get '/(:locale)' => 'pages#welcome'

  scope ":locale", locale: /en|it/ do 
    unless respond_to?(:has_named_route?) && has_named_route?("mailkick")
      mount Mailkick::Engine => "/mailkick" if Mailkick.mount
    end
    ...
  end 
end

让我知道这是否可以解决问题?