微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.请享用.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐