2014-01-17 3 views
1

Я делаю сайт для агентства PR, и у них есть несколько клиентов (называемых cliente). У каждого из этих клиентов есть галерея изображений (так называемые cliente_photos). Я использую carrierwave и active_admin для загрузки через администратора. В active_admin, я могу установить для клиента, с которым я хочу связать новую загруженную картинку. Но на моих взглядах все клиенты показывают все изображения. Я предполагаю, что это проблема с условиями массива, но я не могу заставить это работать.Рельсы 4 не отображают условий при загрузке изображений с несущей волной

мой взгляд индекс выглядит следующим образом:

<div class="image-grid mt-60"> 
    <% Cliente.all.each do |client| %> 
     <% client.cliente_photos.each do |photo| %> 
      <div class="mb-5 pull-left"> 
       <%= image_tag photo.imagem.url %> 
      </div> 
     <% end %> 
    <% end %> 
</div> 

Когда я пытаюсь использовать условными, как:

`<div class="image-grid mt-60"> 
    <% Cliente.all.each do |client| %> 
    <% client.cliente_photos.where("cliente_id = ?", params[:cliente_id]).each do |photo| %> 
     <div class="mb-5 pull-left"> 
      <%= image_tag photo.imagem.url %> 
     </div> 
    <% end %> 
    <% end %> 
</div>` 

Изображения исчезают из всех клиентов.

Любые идеи?

ответ

1

Если вы начинаете с Cliente.all, вы должны ожидать все образы клиентов. Если это не то, что вы хотели, почему бы не фильтровать на тот, который вы сделать хотите?

<div class="image-grid mt-60"> 
    <% client = Cliente.find(params[:cliente_id]) %> 
    <% client.cliente_photos.each do |photo| %> 
     <div class="mb-5 pull-left"> 
      <%= image_tag photo.imagem.url %> 
     </div> 
    <% end %> 
</div> 
+0

Thanks @PinnyM !! это сработало! – jppag

Смежные вопросы