Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.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 级联Rails循环未显示正确的数据_Ruby On Rails_Ruby_Loops - Fatal编程技术网

Ruby on rails 级联Rails循环未显示正确的数据

Ruby on rails 级联Rails循环未显示正确的数据,ruby-on-rails,ruby,loops,Ruby On Rails,Ruby,Loops,我的布局文件中有以下代码: <% @families = ProductFamily.find(:all, :include => :products) %> <% @families.each do |f| %> <h2><%=h f.name %></h2> <ul> <% f.products.each do |product| %> <li>&l

我的布局文件中有以下代码:

<% @families = ProductFamily.find(:all, :include => :products) %>
<% @families.each do |f| %>

    <h2><%=h f.name %></h2>
    <ul>
    <% f.products.each do |product| %>
        <li><%=h product.name %></li>
    <% end %>
    </ul>
<% end %>
:产品)%>
两件事:我怀疑这是否遵循标准的MVC程序,所以任何帮助都将是一个巨大的优势。但最重要的是,没有显示产品名称。取而代之的是,模型名称(或者我认为是这样)显示在它的位置(即“产品”)。我知道它在所有产品中循环,因为显示的行数正确——只是没有实际的产品名称

有什么建议吗?提前谢谢。

@families = ProductFamily.find(:all, :include => :products)
在你的控制器里

试一试



并确保该名称符合您的期望。

如果您需要@families应用程序范围的名称。您应该在应用程序\u控制器中定义一个before\u过滤器

class ApplicationController < ActionController::Base

  before_filter :get_product_families        

  private 
  def get_product_families
    @families = ProductFamily.find(:all, :include => :products)    
  end

end
class ApplicationController:products)
结束
结束

至于你的另一个问题,我们需要更多的信息。对产品进行检查,当前的视图代码应该可以工作

谢谢,前_过滤器是我非常需要的。
class ApplicationController < ActionController::Base

  before_filter :get_product_families        

  private 
  def get_product_families
    @families = ProductFamily.find(:all, :include => :products)    
  end

end