设计可邀请 - 显示剩余的邀请数量

时间:2013-04-27 13:59:45

标签: ruby-on-rails devise devise-invitable

我能够显示用户获得的邀请数

<%= @user.invitation_limit %>

但是,我想展示剩下多少邀请。有什么帮助吗?

2 个答案:

答案 0 :(得分:0)

试试这个。首先,在User模型和:invitations之间设置has_many关联。

# User.rb
....
has_many :invitations, :class_name => self.to_s, :as => :invited_by

这样您就可以访问

@user.invitations

然后,您只需执行数学运算即可获得您正在寻找的显示。

<%= @user.invitation_limit - @user.invitations.count %>

为了更优雅,创建帮助器并从视图中获取逻辑可能是个好主意。

def invitations_remaining
  invitation_limit - invitations.count
end

然后你可以简单地调用

<%= @user.invitations_remaining %>

希望这有帮助。

答案 1 :(得分:0)

我有同样的问题,然后想出来......你需要问当前的用户。如果您只是要求@user,您将获得在设计初始化程序中设置的默认配置限制。

所以只需使用<%= current_user.invitation_limit %>代替<%= @user.invitation_limit %>

希望有所帮助。