Ruby on Rails:自定义操作

时间:2011-03-19 20:57:22

标签: ruby-on-rails ruby-on-rails-3

我是rails的新手,所以我只是向你解释一下我的情况:

我有一个用户模型和一个UsersController。用户使用他们的电子邮件地址和密码登录。特殊用户可以通过在表单中​​键入被邀请者的电子邮件地址并点击提交来邀请其他用户。然后,受邀用户通过首次输入密码来接收包含激活其帐户的链接的邮件。

问题在于:

“邀请”表单映射到我的UsersController atm的create动作。但是我如何将“激活”表单映射到?

我是否可以定义自定义操作“激活”或可以像/users/3/activate那样访问的内容(当然,这里也应该有一些身份验证令牌......)并且会激活用户id 3?

我在自定义操作中找到了一些东西,但我还没有完全了解它。

获取任何帮助

1 个答案:

答案 0 :(得分:8)

你的路线文件中可能有这样的东西。 (如果没有,请发布。)

resources :users 

如果您想添加一个针对单个User的自定义操作,您可以将其添加为:member这样的内容。

resources :users do
  member do
    get :activate
  end
end

请注意,使用get修改数据的内容有点不对,但您正在谈论通过电子邮件中的链接点击此内容。

当你玩路线时,不要忘记rake routes会显示你目前可以使用的所有路线。