ruby-on-rails – ActionMailer中url_for和命名路由的问题视图:“需要控制器和操作”

我试图在我的用户欢迎电子邮件中提供确认链接,我收到以下Rails错误

Need controller and action!

它对这一行大惊小怪:

<p>Please take a moment to activate your account by going to: 
<%= link_to confirm_user_url(:id => @user.confirmation_code) %>.</p>

在我的development.rb环境中,我有以下几行:

config.action_mailer.default_url_options = {
  :host => "localhost",:port => 3000
}

@user变量没有问题.我用@ user.username和@ user.confirmation_code测试了这封电子邮件.我只是在使用url_for和命名的路由(例如confirm_user_url)时遇到麻烦.

当我使用rake路由检查我的路由时,confirm_user显示出来,因此不存在命名路由不存在的问题.

我似乎无法弄明白.是什么赋予了?

解决方法

由于你的评论中有一个可点击的网址就是你所说的,所以你去macek

<p>Please take a moment to activate your account by going to: 
<%= auto_link confirm_user_url(:id => @user.confirmation_code) %>.</p>

我已经在我的一些邮件中使用了auto_link帮助程序来使网址可以点击,而且效果非常好.我认为这也是电子邮件地址,请查看所有选项的完整API.请享用.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...