2013-11-28 82 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 %>