Profile.joins(:course)
不显示:course字段。
我尝试过
Profile.joins(:course).select('profiles.*,courses.*')
并且它出现在select中,而不是from命令中,因此没有课程列出现。
配置文件加载(2.6毫秒)SELECT课程。*,配置文件。*来自“配置文件” 在“ courses”上进行INNER JOIN“ courses”。“ coursable_id” =“ profiles”。“ id” AND “ courses”。“ coursable_type” = $ 1 LIMIT $ 2 [[“” coursable_type“, “个人资料”],[“ LIMIT”,11]]
@profile = Profile.joins(:course).select('profiles.*,courses.*')
@profile.department # a field on Courses table
NoMethodError(Profile :: ActiveRecord_Relation:0x00007fb4f4955dc0>的未定义方法“部门”)
解决方案:
@profile.first.department # a field on Courses table
答案 0 :(得分:1)
Select
仅显示在您称为select
的模型(即配置文件)上存在的列。但是Course
的属性仍然可用。
即您可以像平常那样称呼他们
@profile = Profile.joins(:course).select('profiles.*,courses.*')
@profile.course_name # if course_name is a field of course