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