2013-09-25 4 views
0

Я использую Mongodb с ROR. Это команда:визуализация в рельсах с коллекцией печатает трижды

<%= render partial: "show", collection: @h %> 

Где @h является

@h=[ 
    {"folder"=>"Default", "weight"=>"100.0", "stocks"=>[ 
    {"id"=>"id1", "name"=>"Ajanta Pharma Ltd.", "weight"=>"57.0"}, 
    {"id"=>"id11", "name"=>"Avanti Feeds Ltd.", "weight"=>"5.1"}, 
    {"id"=>"id34", "name"=>"MPS Ltd.", "weight"=>"2.5"}, 
    {"id"=>"id89", "name"=>"Poly Medicure Ltd.", "weight"=>"3.7"}]}, 
    {"folder"=>"low margin", "weight"=>"0.0", "stocks"=>[ 
    ]}, 
    {"folder"=>"fjf", "weight"=>"0.0", "stocks"=>[ 
    ]} 
] 

Пусть мой _show.erb это

i am line 

Выход я получаю i am linei am linei am line фактически нет. раз папка в @h содержания * в _show.erb Если изменить @h к этому

@h=[ 
    {"folder"=>"Default", "weight"=>"100.0", "stocks"=>[ 
    {"id"=>"id1", "name"=>"Ajanta Pharma Ltd.", "weight"=>"57.0"}, 
    {"id"=>"id11", "name"=>"Avanti Feeds Ltd.", "weight"=>"5.1"}, 
    {"id"=>"id34", "name"=>"MPS Ltd.", "weight"=>"2.5"}, 
    {"id"=>"id89", "name"=>"Poly Medicure Ltd.", "weight"=>"3.7"}]}, 
    {"folder"=>"low margin", "weight"=>"0.0", "stocks"=>[ 
    ]}` 
] 

Затем он дает i am linei am line в папке находится 2, почему это происходит, как только хочет один выход раза независимо от того, нет. папок. Как я могу это сделать?

+0

- это отметки вокруг массива в' @ h' в вашем коде или только в сообщении? – dax

+0

Просто в сообщении позвольте мне отредактировать его. Теперь его окей. –

ответ

0

Done, на самом деле Когда вы передаете коллекцию частично через: вариант сбора, парциальное будет вставлен один раз для каждого элемента в коллекции:

так я использовал это: <% = оказывают частичное: " show ", object: @h%>