【发布时间】:2018-06-28 18:42:16
【问题描述】:
我无法让 *_url 助手在我的邮件程序中工作。
例如,我的routes.rb 中有resources :pages。
但是当尝试在邮件视图中使用任何帮助程序时,它总是告诉我:
ActionController::UrlGenerationError
No route matches {}
以下测试可能会提供更多提示...
root_url # results in No route matches {}
pages_url # results in No route matches {}
page_url # results in No route matches {:action=>"show", :controller=>"pages"}, missing required keys: [:id]
page_url 1 # results in No route matches {:action=>"show", :controller=>"pages", :locale=>1}, missing required keys: [:id]
page_url 1, locale: :en # results in No route matches {}
我不知道如何进一步调试和修复这个问题。
【问题讨论】:
-
您是如何使用这些网址的?
link_to? -
你说得对,我认为这只是我的一个愚蠢的错误。它现在像这样工作:
link_to 'page 1', page_url(1, locale: :de)! -
好的:)。
link_to需要两个参数我猜你只传了一个 -
是的,这就是问题所在。我在同一个视图中使用了
mail_to助手,而mail_to只需要一个参数(它只是将它用于链接文本和目标),link_to总是需要两个参数。
标签: ruby-on-rails url routes actionmailer