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 に答える