1

https://mywebsite.com/user/check_email_confirmation/46cee41bc2044104aff8cf7746687ea8のような URL の生成を検討しています。

有名な「このリンクをクリックしてメールを確認してください」。

したがって、routes.rb でこれに使用する予定のルートがあります。

  resources :user do
    collection do
      get  'check_email_confirmation/:generated_url', :to => 'user#check_email_confirmation'
    end
  end

さて、私の問題は、上記の完全なアドレスを生成することです。SHA (46cee41bc2044104aff8cf7746687ea8) 部分を生成することはできますが、ビューに「https://mywebsite.com/user/check_email_confirmation/」部分を書き込むにはどうすればよいですか?

ビューのコードを追加しました:

<p>Please click <%= url_for(:action => 'check_email_confirmation', :controller => 'user', :only_path => false, :id => @confirmation_url) %> to confirm your e-mail address.</p>
4

2 に答える 2

1

に置き換えid:ますgenerated_url:

in routes でurl_forルートに名前を付けて ing を簡素化することもできますas:

get  'check_email_confirmation/:generated_url', to: 'user#check_email_confirmation', as: :confirmation

詳細については、 http: //viget.com/extend/rails-named-routes-path-vs-urlを参照してください。

于 2012-08-23T15:19:23.230 に答える
0
get "check_email_confirmation/:id" => "users#check_email_confirmation", :as => "check_email_confirmation" 
于 2012-08-23T06:04:41.270 に答える