我正在使用Devise
及其确认选项。
如您所知,用户将不会被激活,除非用户点击确认邮件中的链接。我如何才能使默认用户成为有效用户?
我在这里遇到的问题是,我们可以看到所有成员,包括尚未确认的用户!
@users = User.all将获取所有用户!我不想包含 未确认的用户。
是否有任何技术可以忽略那些尚未确认的人?
在用户模型中添加内容将是最好的!
请帮我:)
我正在使用Devise
及其确认选项。
如您所知,用户将不会被激活,除非用户点击确认邮件中的链接。我如何才能使默认用户成为有效用户?
我在这里遇到的问题是,我们可以看到所有成员,包括尚未确认的用户!
@users = User.all将获取所有用户!我不想包含 未确认的用户。
是否有任何技术可以忽略那些尚未确认的人?
在用户模型中添加内容将是最好的!
请帮我:)
我建议增加一个范围,您的用户模型一致的访问:
class User
def self.unconfirmed
where('users.confirmed_at is null')
end
def self.confirmed
where('users.confirmed_at is not null')
end
end
然后在控制器(或其他型号),这个名单可以访问如:
@users = User.confirmed
范围的美妙之处在于,他们可以进一步链接:
@unformed_males = User.confirmed.where(:sex => 'male').order(:height)
你的想法;)
HTH
设计会给你的属性confirmed_at
。您可以使用:
@user = User.where('confirmed_at IS NOT NULL')
而且,如果我没有记错的话,确认后制定设置confirmation_token为NULL,使其不能再次使用,所以你也可以这样做:
@user = User.where('confirmation_token IS NULL')
设计添加confirmed_at列到您的用户表。所以,你可以使用如下:
@users = User.all(:conditions => ["confirmed_at is not null"])
不,这是老梁2语法。改为使用'User.where'。 – weltschmerz
他没有提到任何版本。我的回答也是正确的。你为什么拒绝投票 – codeit
如果用户没有提到任何版本,我特别鼓励你使用最新的语法。但是没有人说如果你改正了,我不会再鼓掌了;-) – weltschmerz
谢谢你,但是你的代码是取未经确认的用户。我想对面。我如何排除它? – cat
你可以做相反的事吗?请命名它确认! – cat
编辑答案:)。对不起,没有更好地阅读你的问题:( – Nazar