它可能与此问题无关,但对于上下文我在我的应用中使用了devise_invitable gem。我已经开始修改invitations_controller.rb,因为我想在我的应用中保存invited_user
和其他模型之间的其他关联。
我认为我的问题的根源是inviting_user
可以邀请多个其他用户,并且这些关联中的每一个都保存在用户模型中,并带有一个名为invited_by_id
的字段
在invited_user
和我的其他模型之间建立额外的所需关联之前,我使用以下内容检索invite_user id
:
@invited_user = User.find_by_invited_by_id(current_inviter)
这确实从User表中成功检索了一条记录,但它似乎是current_inviter
邀请的第一个用户。
我想更改逻辑,以便检索current_inviter
邀请的 last 用户。因此,我尝试了:
@invited_user = User.find_by_invited_by_id(:last, current_inviter)
但不幸的是,它返回以下错误:
NoMethodError: undefined method `empty?' for 1:Fixnum
感谢任何帮助。谢谢。
答案 0 :(得分:0)
您可以使用以下(Rails 3):
User.where(invited_by_id: current_inviter).last
或使用旧语法(Rails 2):
User.find(:last, :conditions => ['invited_by_id = ?', current_inviter])