Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails-在集合中呈现集合?_Ruby On Rails - Fatal编程技术网

Ruby on rails RubyonRails-在集合中呈现集合?

Ruby on rails RubyonRails-在集合中呈现集合?,ruby-on-rails,Ruby On Rails,我的用户模型有很多项目,每个项目都有很多发票 我打电话给下面的人 render :partial => "layouts/allInvoices", :collection => @projects, :as => :p 在allInvoices中,我希望重复每个项目的发票 我可以用 - p.invoices.each do |i| 但我更喜欢收藏。不过我不知道该怎么说 = render :partial => "layouts/invoiceItem", :coll

我的用户模型有很多项目,每个项目都有很多发票

我打电话给下面的人

render :partial => "layouts/allInvoices", :collection => @projects, :as => :p
在allInvoices中,我希望重复每个项目的发票

我可以用

- p.invoices.each do |i|
但我更喜欢收藏。不过我不知道该怎么说

= render :partial => "layouts/invoiceItem", :collection => p.invoices, :as => :i
不起作用。我是否需要在控制器内设置嵌套迭代


谢谢你是说像

= render "layouts/allInvoices", :p => @projects
然后


我用这个“我”得到零分。与我尝试收集的结果相同。如果我直接访问“I”,而不渲染部分,它会工作。在
layouts/allInvoices
中,什么是
invoice
?在构造“p.invoices.each do | invoices |”中,“invoices”是p.invoices每次迭代的占位符元素,其中p是Project.all每次迭代的占位符,而p.invoices则是每个项目的invoices.all。e、 g.Project.first.Invoice.first将是“Invoice”的第一个实例……但这与我的问题无关。我想知道当集合本身从集合调用时,如何将实例变量传递给集合。
- # layouts/allInvoices
- p.invoices.each do |invoice|
  = render "layouts/invoiceItem", :i => invoice

- # layouts/invoiceItem
= i.id   # this gives id of Invoice