Ruby on rails RubyonRails-控制器中的Do循环

Ruby on rails RubyonRails-控制器中的Do循环,ruby-on-rails,Ruby On Rails,我想显示属于一个给定项目的每个文件(关系正常,可以使用Rails控制台进行检查)。 这是我的“项目”控制器,我可能需要一个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.

我想显示属于一个给定项目的每个文件(关系正常,可以使用Rails控制台进行检查)。 这是我的“项目”控制器,我可能需要一个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 %>

姓名:

说明:

文件夹:

|

谢谢:)

如果关系设置正确,您可以执行以下操作:

控制器 看法

文件夹:


更容易。。。依靠rails的魔力

在控制器中

@project = Project.find(params[:id])
@pfiles = @project.pfiles
然后在视图中

<b>Files:</b>
<%= render @pfiles %>
文件:
然后在views/pfiles/_pfile.html.erb中

<%= pfile.name %>

<b>Files:</b>
<%= render @pfiles %>
<%= pfile.name %>