大约一个星期以来,我一直在尝试渲染视图。我有一个需要能够导出集合的应用程序,因此我决定使用在 Web 浏览器中呈现为 a.txt
和的 line partial 。.csv
到目前为止,在让整个集合渲染(逐行)方面做得很好。但是,我无法让某些集合对象(在本例中为产品)根据某个属性(大小元素)复制自己。
下面的代码是我现在陷入困境的地方
控制器
class PexportController < ApplicationController
layout 'csv'
def index
end
def show
@feed_template = params[:id]
@products = Product.find :all
@products.each do |product|
unless product.size.nil? || product.size.empty? || product.size.kind_of?(Fixnum)
@products << new_products_for(product)
end
end
respond_to do |format|
format.html
format.text
end
end
private
def new_products_for(product = {})
products = Array.new
product.size.each do |p|
products << Product.new(p.attributes)
end
products
end
end
看法
<%= render partial: 'pexport/p', collection: @products %>
部分的
<%= p.sku %> <%= p.name %> <%= p.price %> ......
我基本上只需要让控制器方法工作。我用于行复制器的属性 :size 只是一个像这样的数组[1,2,3]
。而且我希望包含此尺寸属性的产品根据其尺寸数组中的尺寸数量来复制自己。我什至不确定我是否要马上去做,但它已经到了我要绕圈子的地步,所以我想我会发布它。