在Rails中如何从多个表中选择其他列

时间:2014-03-02 05:40:47

标签: ruby-on-rails ruby-on-rails-4

我有这些关联来描述一个模型,其中应用程序中有一个标签列表(园艺,辅导等......),用户将拥有其中的一个或多个。我最好的猜测是下面的协会

用户

  

has_many: usertags

     

has_many:标记,通过:: usertags

代码

  

has_many:用户标记

     

has_many:用户,通过:: usertags

Usertag

  

belongs_to:用户

     

belongs_to:标记

我将user_id和tag_id的列添加到Usertag。我可以通过

设置数据并为用户检索标签列表 例如,

User.first.usertags。

如何检索Tag.name,User.id和Usertag.id属性,我尝试了这种格式

User.first.usertags.joins(:tag).select("tags.name, tags.id, usertags.id, user.id")

在我的结果中,我看到的只有

[#<Usertag id:1>, #<Usertag id:3>]>

非常感谢!

1 个答案:

答案 0 :(得分:0)

result = User.first.usertags.joins(:tag).select("tags.name as tag_name, tags.id, usertags.id, user.id")

result.collect{|r| r.tag_name}