Rails:从has_many模型查看关联对象

时间:2015-06-18 20:44:20

标签: ruby-on-rails

我有两个模型:Productline,它与Project有一个has_many关系。

在apps / views / productlines / show.html.erb页面上,我想迭代与之关联的项目数量,如下所示:

<% @projects.each do |project| %>
                    <div class="paper-container">
                        <%= link_to(project) do %>
                          <div class="paper-box">
                            <h5><%= project.name %></h5>
                            <div class="img pulsetalk" style="background-image: url();"></div>
                            <hr>
                            <a class="card-btn" href="../status/pulse.html">
                              Project Status
                            </a>
                          </div>
                        <% end %>
                    </div>  
                <% end %>

在我的Productline控制器中,我有:

def show
    @projects = Project.all
  end

我的问题是:什么方法可以让我只返回与视图关联的视图项目?现在所有项目都显示在所有Productlines上。

由于

2 个答案:

答案 0 :(得分:0)

如果我理解你的问题,并且你已经按照正常的REST风格设置你的路线(即你在routes.rb中使用resources :productline,那么show的路线就是一个Productline将是/productline/:id)然后你会想要这样的东西:

def show
  product_line = Productline.find(params[:id])
  @projects = product_line.projects
end

答案 1 :(得分:0)

我假设,展示页面的路径应该是这样的:

localhost/productline/3 etc.

def show
  @projects = Productline.find(params[:id]).projects
end