2010-12-16 43 views
2

我一直在遇到一个变得非常令人沮丧的错误 - 我有一个邮件设置,向新用户发送激活电子邮件。没有路线匹配?应该很简单

我不断收到错误:no route matches {:controller => "activations", :action => "create"}

下面的代码:

# routes. I tried all of these individually. 
match 'activations/create' 
match 'activations/create/:activation_code' => 'activations#create', :as => :activate 
match 'activate/:activation_code' => 'activations#create', :as => :activate 

# controller. This is the line that refers to UserMailer, that then causes the error. 
UserMailer.activation_instructions(@user).deliver 

# UserMailer.rb 
def activation_instructions(user) 
    @user = user 
    @account_activation_url = activate_url(user.perishable_token) # error raised here 
    mail(:to => "#{user.login} <#{user.email}>", :subject => "Registered") 
end 

缺少什么我在这里?

+1

路由问题标准回答是:是什么'耙routes'说? ;) – iain 2010-12-16 01:12:43

回答

0

尝试

match 'activations/create(/:activation_code)' => 'activations#create', :as => :activate