階層化された部分スキームがあり、DRYコードを書き込もうとしています。変数をパーシャルに渡し、その配列ステータスを維持して、パーシャル内でパラメーターを使用して別のパーシャルをレンダリングできるようにする必要があり:collection
ます。
このページでは、'feed'
部分をレンダリングします。
%div.row
%div.span6
%h1 Posts
/Post feed
=render 'feed',:locals => {:feed_items => @posts}
%div.span6
%h1 Groups
/Group feed
=render 'feed', :locals => {:feed_items => @groups}
これが'feed'
部分的です:
%ol
-if feed_items.first.is_a?(Post)
=render :partial => 'post_feed_item', :collection => feed_items
-else
=render :partial => 'group_feed_item', :collection => feed_items
=will_paginate feed_items
現在、このエラーが発生します。
undefined local variable or method `feed_items' for #<#<Class:0x007fa8e2aa8b00>:0x007fa8e5405390>
更新1:
実際のエラー。:collection
最終部分は、渡されたコンポーネントを認識しません。
undefined local variable or method `feed_item' for #<#<Class:0x007fa8e2aa8b00>:0x007fa8e2c6d670>
最終部分'post_feed_item'
(レイヤー3?):
%li.feed_item.row-fluid
%div.image.span3
=link_to image_tag(feed_item.assets.empty? ? '/assets/small.png': feed_item.assets.first.image.url(:small), :alt => feed_item.title), post_url(feed_item)
それで、最初の部分にいくつかの問題があります...feed_items
配列として解析されていませんか?