Rails - 在连接查询中呈现部分

Rails - Rendering partial on join query

我有 TopicLesson 型号。一个主题 has_many 个课程和一个课程 belong_to 个主题。

在我的topics_controller.rb我有

@topics = Topic.all

我在索引视图中使用render @topics,通过部分_topic.html.erb

到这里,一切都很好。

现在,我想在 home.html.erb 中呈现一个包含课程的主题列表,并使用部分(不同于 _topic.html.erb) 为这些元素呈现 html。

在我的 static_pages_controller.rb 我有:

def home
  @available_lessons = Topic.joins(:lessons)
end

我在views/static_pages文件夹中创建了部分_available_lesson.html.erb,然后在home.html.erb 文件我放 render @available_lessons.

我希望得到新的部分,但 Rails 继续渲染旧的 _topic.html.erb.

我做错了什么?

只给出完整路径

render partial: "available_lesson", collection: @available_lessons 

我不确定细节,但我怀疑当你使用简写语法时,rails 识别你的 @available_lessonsTopic 的集合,这就是为什么它会自动寻找 _topic.html.erb (只是猜测,查找它以确保)