2013-11-28 44 views
0

我想显示属于一个给定项目的每个文件(关系正常,可以使用Rails控制台检查它)。 这里是我的“工程”控制器,我可能需要做循环(循环通过每个文件,1个项目),但我不知道:在轨道上的红宝石 - Do在控制器中循环

def show 
@project = Project.find(params[:id]) 
@pfile = Project.find(params[:id]).Pfiles.find(:all) 

respond_to do |format| 
    format.html # show.html.erb 
    format.xml { render :xml => @project } 
    format.xml { render :xml => @pfile } 
end 
end 

这是我的“工程”的观点:

<p id="notice"><%= notice %></p> 

<p> 
    <b>Name:</b> 
    <%= @project.name %> 
</p> 

<p> 
    <b>Description:</b> 
    <%= @project.description %> 
</p> 

<p> 
    <b>Files:</b> 
    <%= @project.pfile.name %> 
</p> 

<%= link_to 'Edit', edit_project_path(@project) %> | 
<%= link_to 'Back', projects_path %> 

谢谢:)

回答

0

如果关系设置正确,你可以这样做:

控制器

@pfiles = @project.pfiles 

视图

<p> 
    <b>Files:</b> 
    <% @pfiles.each do |pfile| %> 
    <%= pfile.name %> 
    <% end %> 
</p> 
+0

就像一个魅力...谢谢一个很多:) – user2567674

0

容易又......依靠轨道的魔力。

在控制器

@project = Project.find(params[:id]) 
@pfiles = @project.pfiles 

然后在视图

<b>Files:</b> 
<%= render @pfiles %> 

然后在视图/ PFILES/_pfile.html.erb

<%= pfile.name %>