通过网址授权

时间:2014-03-10 09:36:53

标签: ruby-on-rails ruby authorization

说,我有一个帖子应用程序。有一个表单,任何人都可以填写标题,文本,电子邮件和子按钮等字段。无需注册。

提交表格后,应审核职位。如果它被批准,那么它将出现在主列表中。

在表单提交和批准后,用户会收到一个链接(链接发送到用户的电子邮件)以便编辑他们的帖子。 - 如何执行此操作?

UPD

问题不在于如何审核或验证帖子/ usr ,而是如何为他提供仅编辑其帖子的链接

2 个答案:

答案 0 :(得分:2)

每当创建用户记录时,您都可以轻松生成绑定到记录的令牌,如下所示:

在User.rb

before_save :generate_token

def generate_token
  self.token = SecureRandom.hex(6)
end

然后在向用户提交注册确认链接时,您可以这样做:

link_to "Validate account", validate_user_path(token: user.token)

以及UsersController的一个示例

def validate
  user = User.find_by_token(params[:token])
  if user
    user.update_attributes(validated: true)
    flash[:notice] = 'User succesfully validated.'
  else
    flash[:error] = 'Couldn't find user with token'
  end
end

答案 1 :(得分:1)

简单:

  1. 保存帖子时生成唯一标记(e.q。SecureRandom.hex)并将标记发送给用户。
  2. 为您的应用添加新路线。如果用户使用令牌(/posts/verify/:token)请求该URL,请让控制器查找具有匹配令牌的帖子。如果找到,请在帖子上设置verified布尔值true