我正在玩測試軌道應用。然而,我偶然發現了一個我無法解決的問題。 我有一個用戶控制器,裏面有一個激活方法。Rails 3.1沒有路由匹配控制器和動作,但它們存在
在routes.rb中文件我有
match 'activate/:email/:validation_code' => 'users#activate', :as => :activate_user, :via => :get
之後,我嘗試使用activate_user_path(@user)
但路由出現錯誤。
No route matches {:controller=>"users", :action=>"activate", :email=>#<User id: 12, email: "[email protected]", validation_code: "zbBPLQUsBgPvEJfcjxmXuxFxuJAKEoqQNASkbybihpnmzSbhxdC...", active: false, created_at: "2011-11-10 14:56:23", updated_at: "2011-11-10 14:56:23">}
運行rake routes
顯示路由的有:
activate_user GET /activate/:email/:validation_code(.:format) {:controller=>"users", :action=>"activate"}
我試圖尋找這個問題,但通常這時候你忘了傳遞對建設路線所需要的對象發生。
所有幫助表示讚賞:)
你可以發佈完整的錯誤消息,而不是用'...'拖尾,它的重要性在哪裏? – meagar
對不起,沒想到這很重要。其餘部分包含用戶對象的其他字段。我現在將編輯帖子以包含它們。 – zbrox