Rails - 在连接查询上渲染部分

时间:2016-06-01 16:44:42

标签: ruby-on-rails partials

我有TopicLesson个型号。主题has_many课程和课程属于主题。

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

我做错了什么?

1 个答案:

答案 0 :(得分:0)

只提供完整的路径

render partial: "available_lesson", collection: @available_lessons 

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