Ruby on rails 使用Rails 4.1 ActionMailer::preview预览电子邮件需要设置哪些路径?
所以很明显,我的一项权利是在默认Rails 1用于mailer预览之前使用Ruby on rails 使用Rails 4.1 ActionMailer::preview预览电子邮件需要设置哪些路径?,ruby-on-rails,routes,preview,mailer,Ruby On Rails,Routes,Preview,Mailer,所以很明显,我的一项权利是在默认Rails 1用于mailer预览之前使用 我需要在routes rb文件中键入什么?我知道这是一个老问题,但我想我还是会发布一个答案 我猜您在routes.rb文件的末尾有一条类似的路线: MyTestApp::Application.routes.draw do end 这是一条“通吃”路线。rails代码将mailer预览路由附加到路由的末尾,因此由于“全面覆盖”路由,永远无法到达这些路由 这听起来像是rails 5.0中的“包罗万象”路线可能会被取消?
我需要在routes rb文件中键入什么?我知道这是一个老问题,但我想我还是会发布一个答案 我猜您在routes.rb文件的末尾有一条类似的路线:
MyTestApp::Application.routes.draw do
end
这是一条“通吃”路线。rails代码将mailer预览路由附加到路由的末尾,因此由于“全面覆盖”路由,永远无法到达这些路由
这听起来像是rails 5.0中的“包罗万象”路线可能会被取消?回顾你的路线可能是一个好主意,这样你就不需要“一网打尽”。这里有一个链接指向某个问题,其中有人提到“一网打尽”将在某个时候退役:
所以,这里是修复方法使用风险自负强>
在“全面覆盖”之前插入邮件发送路线
match '/:controller(/:action(/:id))'
这将使你的邮件工作,你的'一网打尽'将继续工作。现在,这是一个完整的hack,只有在您能够解决根本问题之前才应该使用它,这就消除了对“一网打尽”路线的需要
我确实在rails的问题列表中找到了以下内容,看起来已经被接受并合并了。不确定它是什么版本,但似乎他们已经更新了mailer预览代码来预先设置路由,而不是附加路由
祝你好运
match '/:controller(/:action(/:id))'
get '/rails/mailers' => "rails/mailers#index"
get '/rails/mailers/*path' => "rails/mailers#preview"