2011-03-19 112 views
2

我新的軌道,所以我就解釋一下我的情況給你:Ruby on Rails的:自定義操作

我有一個用戶模型和UsersController。用戶使用他們的電子郵件地址和密碼登錄。特殊用戶可以邀請其他用戶,方法是將被邀請者的電子郵件地址輸入到表單中,然後點擊提交。被邀請的用戶然後通過首次輸入密碼來接收包含鏈接以激活其帳戶的郵件。

這裏的問題:

的「邀請函」的形式被映射到我的UsersController大氣壓的創建操作。但是,我將「激活」表單映射到什麼地方?

是否可以定義一個自定義動作「激活」或可以像/users/3/activate(當然,這裏也應該有一些驗證令牌......)訪問並且可以激活ID爲3的用戶?

我發現了一些自定義操作的東西,但我還沒有完全掌握它。

Thx任何幫助

回答

8

你可能在你的路線文件中有這樣的東西。 (如果沒有,請張貼。)

resources :users 

如果你想補充一點,作用於單User自定義操作,您可以添加爲:member這樣。

resources :users do 
    member do 
    get :activate 
    end 
end 

注意,使用的東西,修改數據是有點不對,但你在談論打這個從電子郵件中的鏈接一個get

當您玩弄路線時,請不要忘記rake routes會向您顯示您目前可以使用的所有路線。

+0

嗯,我剛剛意識到我需要一個GET操作來從電子郵件鏈接訪問用戶激活表單,並通過POST來實際激活用戶。 thx的幫助,我會試試這個 – DeX3 2011-03-19 21:10:34