Ruby on Rails:自定义操作

DeX*_*eX3 2 ruby-on-rails ruby-on-rails-3

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

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

这是问题所在:

"邀请"表单映射到我的UsersController atm的create动作.但是我将"激活"表单映射到什么?

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

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

感谢任何帮助

jdl*_*jdl 8

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

resources :users 
Run Code Online (Sandbox Code Playgroud)

如果要添加作用于单个的自定义操作,User可以:member像这样添加.

resources :users do
  member do
    get :activate
  end
end
Run Code Online (Sandbox Code Playgroud)

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

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