当前位置 : 主页 > 编程语言 > ruby >

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

来源:互联网 收集:自由互联 发布时间:2021-06-23
我试图在我的用户欢迎电子邮件中提供确认链接,我收到以下Rails错误: Need controller and action! 它对这一行大惊小怪: pPlease take a moment to activate your account by going to: %= link_to confirm_user_url
我试图在我的用户欢迎电子邮件中提供确认链接,我收到以下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.请享用.

网友评论