使用carrierwave上传图像时,Rails 4不显示条件

时间:2014-01-17 15:20:47

标签: ruby-on-rails ruby-on-rails-4 carrierwave activeadmin

我正在为公关公司做一个网站,他们有多个客户(称为客户)。这些客户中的每一个都有自己的图像库(称为cliente_photos)。我正在使用carrierwave和active_admin通过管理员上传。在active_admin中,我能够与客户端设置我希望新上传的图片与之相关。但根据我的观点,所有客户都会显示所有图片。我认为这是一个数组条件问题,但我不能让它工作。

我的索引视图如下所示:

 <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 个答案:

答案 0 :(得分: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>