2016-08-03 14 views
0

同じWebページ上で2つの値のセットを反復処理する必要があるので、重複するコードを取り除くために部分的に書きました。私が反復しようとしている2つの変数は@bookmarks@liked_bookmarksです。私の部分的な作業をしようとする

@bookmarksまたは@liked_bookmarksのいずれかを部分的に使用した場合、パーシャルが正しくレンダリングされますが、値セットの唯一のものが表示されます。下のコードでは、@bookmarks@liked_bookmarksが渡されるスタンドとして@resourceを使用しようとしました。

これはapp/views/bookmarks/_bookmarksandlikes.html.erb

<div> 
    <% @resource.each do |x| %> 
    <%= x.url%> 
    <% end %> 
<div> 

に位置している部分であり、これは、私はあなたが近くにいるapp/views/users/show.html.erb

<h1>My Blocmarks</h1> 
<p>Find me in app/views/users/show.html.erb</p> 

<div> 
    <h1>Blockmarks I have created </h1> 
    <div class =row> 
    <%= render partial: 'bookmarks/bookmarksandlikes', locals: { topic:  @bookmarks} %> 
    </div> 

</div> 


<div> 
    <h1>Blockmarks I have liked 
    <%= render partial: 'bookmarks/bookmarksandlikes', locals: { topic:  @liked_bookmarks} %> 
    </h1> 
</div> 

答えて

3

に位置に上記の部分を呼び出していますページのコードです。 @resourceの代わりにtopicを使用してください。これはローカルとして渡しています。

<div> 
    <% topic.each do |x| %> 
    <%= x.url%> 
    <% end %> 
<div> 
1

の代わりに:

<div> 
    <% @resource.each do |x| %> 
    <%= x.url%> 
    <% end %> 
<div> 

それを実行します。

<div> 
    <% topic.each do |x| %> 
    <%= x.url%> 
    <% end %> 
<div> 

をあなたがあなたの代わりに任意のinstance that is not initializeを使用してのtopicを使用する必要がありますlocals: { topic: @liked_bookmarks}上のオブジェクトを渡すので。

2

あなたはそれを

<div> 
<% topic.each do |x| %> 
<%= x.url%> 
<% end %> 
<div> 
を行う必要がある部分と渡すだけ話題変数に@Resourceを渡していないので、
関連する問題