Rails 4检索嵌套属性以在index.html.erb中显示

时间:2015-06-02 09:36:21

标签: ruby-on-rails image ruby-on-rails-4 twitter-bootstrap-3 nested-attributes

只是想了解如何检索嵌套图像以便在我的首页上显示。我对标准模型没有任何问题,但一直无法找到如何通过has_many嵌套属性。我所有嵌套的表单都工作得很好,只是忽略了前端。

例如。产品已嵌套product_images。这看起来并不像是一种聪明的方式,因为上传的最后五张图片不一定与最后添加的五件产品有关。

有人可以分享一个例子。

欢呼声

应用/控制器/ home_controller.rb

class HomeController < ApplicationController
  def index
    @products = Product.last(5)
    @product_images = ProductImage.last(5)    
  end
end

应用/视图/家/ index.html.erb

  <% @products.each do |pd| %>
      <div><%= pd.product_name %>
       <% end %>
  <% @product_images.each do |pd| %>
        <%= image_tag (pd.product_image(:medium)) %>
  <% end %>
 </div>

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

应用程序/控制器/ home_controller.rb

 class HomeController < ApplicationController
   def index
     @products = Product.last(5)
     @product_ids = @products.collect(:id)
     @product_images = ProductImage.where(:id => @product_ids).last(5)  
   end
 end

应用程序/视图/家/ index.html.erb

 <% @products.each do |pd| %>
   <div><%= pd.product_name %>
 <% end %>
 <% @product_images.each do |pd| %>
   <%= image_tag (pd.product_image(:medium)) %>
 <% end %>