Rails Mailkick路线没有响应

问题描述

我已经安装了gem(https://github.com/ankane/mailkick),并添加了“取消订阅链接

<%= link_to "Unsubscribe",mailkick_unsubscribe_url %>

但是当我单击电子邮件中的链接时,我已被重定向

/ mailkick?locale = zh-CN / subscriptions / BAhbCUkiHWNocmlzdgluYUBpdHNudXRmYWlyLmNvbQY6BkVUaRBJIglVc2VyBjsARjA =-fe51a96fa69c038b472c76328d726898859befba / unsubscribe?

不响应邮寄路线的地方。

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"..下的宝石路线(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

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