2016-11-15 106 views
0

我已经使用Devise创建类似于article的推介跟踪系统。通过推介链接成员 - 导轨

我在会员表中添加了2列:refer:stringreferral_code:string。当用户注册时,为他们创建一个唯一的字符串,并保存在refer中,稍后用作他们的推荐代码,当他们注册并使用推荐链接时,推荐人的refer代码将被保存到引用成员的referral_code字段中。

我有的问题是关联refer和referral_code,以便被引用的人可以看到所有使用其引用代码注册的成员的列表。

我需要该查询的帮助,才能为2个成员关联refer和referral_code。

例如:

  • MEMBER_1 refer:EeFfGgreferral_code:HhIiJj
  • MEMBER_2 refer:ZzYyWwreferral_code:EeFfGg
  • MEMBER_3 refer:TtUuVvreferral_code:EeFfGg

所以MEMBER_1需要能够看到片2,3在他的名单因为他们都使用他的推荐代码进行了注册。

任何援助将不胜感激。

回答

0
class Member < ActiveRecord::Base 

    def members_referred 
    Members.where(referral_code: refer) 
    end 

end 

这让你做......

my_member.members_referred 

...所有成员的名单my_member简称

所以,如果你有一个实例变量@member的图,其中成员看到他自己的配置文件,视图可能是...

<% @member.members_referred each do |referred_member| %> 
    <%= referred_member.name %><br/> 
<% end %> 
+0

我得到一个未定义的局部变量错误,甚至te通过控制台查询查询: 'irb(main):001:0> Member.where(referral_code:refer) NameError:未定义的局部变量或方法'refer'for main:Object' –

+0

没有看上下文...该方法应该在类成员中定义... app/models/member.rb – SteveTurczyn

+0

谢谢@SteveTurczyn,请耐心等待,我有点新手。一旦我将该方法添加到成员,我怎么能从另一个控制器调用此方法,是否需要在视图中使用“每个”迭代? **注意:**这不是为了管理员的观点,而是让最终用户在他们的每个配置文件中看到? –