2017-09-05 62 views
0

我使用devise_invitable gem连同Devise但我无法弄清楚如何显示所有受邀用户的列表。 我想列出所有受邀用户的状态为已接受/待定设计邀请的显示邀请用户

我已经制作了一个自定义Invitations控制器(根据官方文档),它继承了Devise的控制器,其中我有一个超级语句,以便它不会更改功能,而是在超级以下添加一些控制器。我已经研究过与这个相关的问题,但发现很少,但他们使用了完全不同且不相关的方法。任何输入赞赏〜

例如,试图访问@users从邀请/新视图抛出undefined method 'each'

+0

我想你可以只需通过** invitation_token **的列值获取用户,如果不是'nil',则用户被邀请,并且如果** invitation_accepted_at **为'nil',则以相同的方式,则状态为挂起,否则被接受。 – Sajan

+0

我的疑问是,如何访问我的邀请控制器中的用户? – Dotol

+0

为了扩大这一点,在我的邀请控制器中陈述'@users = User.all',并在''invitations/new''中用'<%@ users.each do | user | %><%= @ users.email%><% end %>'为NilClass'每个引发''未定义的方法',就像我没有在控制器中分配变量一样〜 – Dotol

回答

1

如果你有一个invitations_controller你可以简单地补充一点:

def index 
    @users = User.all 
end 

你并不需要从设计继承,刚刚从ApplicationController。您将能够访问@users变量,现在如果你想要的结果分成两个单独的数组,然后:

def index 
    @pending_users = User.where(invitation_accepted_at: nil) 
    @accepted_users = User.where.not(invitation_accepted_at: nil) 
end 

而且你的观点,你可以访问@pending_users以及@accepted_users