0

我正在尝试在 actionmailer 模板中生成一个 url。如果我要生成的 url 是一个示例

http://0.0.0.0:3000/users/confirm/lNbQxzFukYtEEw2RMCA

最后一段是用于识别用户的哈希

但是,当我使用这个

<%= url_for(:controller => 'users', :action => 'confirm', :id => @user.confirmhash, :only_path => false) %>

它生成这个

http://0.0.0.0:3000/assets?action=confirm&controller=users&id=ZOR3dNMls8533T8hJUfCJw

我怎样才能让它正确格式化?我不知道“资产”从何而来。

有没有更简单的方法来使用我缺少的命名路由?

4

1 回答 1

0

我找到了答案。由于我仍在学习,我错过了创建命名路线的选项。所以这就是我所走的路。

在 config/routes.rb

match 'user/confirm/:id' => 'users#confirm', :as => :confirm_account

然后在我使用的动作邮件模板中

<%= link_to "Confirm your account", confirm_account_url(@user.confirmhash) %>

它将 :id 传递给控制器​​操作。

于 2012-06-01T03:17:53.247 回答