2016-06-01 16 views
0

私はTopicLessonモデルを持っています。トピックhas_manyレッスンとレッスンはトピックに属します。私topics_controller.rbRails - レンダリング部分結合クエリ

私は

@topics = Topic.all 

を持っていると私はここ

それまでは部分的_topic.html.erb、すべての罰金を通じて、インデックスビューでrender @topicsを使用しています。

は今、私はhome.html.erbのレッスンとトピックのリストをレンダリングし、それらの要素のHTMLをレンダリングする部分(_topic.html.erbは異なる)を使用します。

は私のstatic_pages_controller.rb私が持っているで:

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

私は、ビュー/ static_pagesフォルダ内に部分的_available_lesson.html.erbを作成し、その後、home.html.erbで私はrender @available_lessonsと書いています。

私は新しい部分を得ることが期待されますが、Railsは古いレンダリングを続けます_topic.html.erb

私は間違っていますか?

+0

'render partial:" available_lesson "、collection:@ available_lessons'、詳細についてはわかりませんが、短い手続きの構文を使うと、 '@ available_lessons'が' Topic'のコレクションであることをrailsが認識します。これはwhですそれは自動的に '_topic.html.erb'を探します(ちょっと推測して、確かめてください)。 – lusketeer

+0

それはうまくいきます。適切な回答を作成したい場合は、それを正しいものとしてフラグを立てます:) – davideghz

答えて

0

はちょうど私が詳細についてはよく分からないが、私はあなたが短い手構文を使用する場合、レールがあなたの@available_lessonsTopicの集まりであることを認識することを疑うフルパスに

render partial: "available_lesson", collection: @available_lessons 

を与え、それがなぜそれをです自動的に_topic.html.erbを探します(ちょっと推測して、確かめてください)

関連する問題