url_for将控制器和操作添加到rails 3.2中的querystring

时间:2012-06-01 02:41:23

标签: ruby-on-rails-3 actionmailer

我正在尝试在动作制作者模板中生成网址。我想要生成的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

如何才能正确格式化?我不知道'资产'来自哪里。

是否有更简单的方法来使用我遗漏的命名路线?

1 个答案:

答案 0 :(得分:0)

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

在config / routes.rb

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

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

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

将id传递给控制器​​动作。