我一直在使用rails应用程序上的引脚脚手架类别一段时间了。我成功地为每个新引脚分配了一个类别,但是如何设置它以便当我去看某个特定类别(即“汽车”)时,它会自动渲染“汽车”中的所有引脚“类别?
我尝试过类似于特定用户渲染引脚的代码(即“user / 1”&gt;,但这对类别不起作用,所以我应该怎么做?任何帮助都将不胜感激。< / p>
这是我的代码
view.categories.show.html.erb
<p id="notice"><%= notice %></p>
<h1>
<b>Category</b>
<%= @category.name %>
</h1>
<div id="pins">
<%= render @pins %>
</div>
<%= will_paginate @pins %>
It returns the below
ArgumentError in Categories#show
Showing /Users/mattbook/code/starsworthy/app/views/categories/show.html.erb where line #9 raised:
'nil' is not an ActiveModel-compatible object that returns a valid partial path.
提取的来源(第9行):
我应该生成类似_pin.html.erb的部分内容吗?我应该怎么做?提前谢谢。
答案 0 :(得分:1)
你的问题不是那么清楚,但我可以提出以下建议:
class Pin < ActiveRecord::Base
belongs_to :category # Add category_id in pins table
end
class Category < ActiveRecord::Base
has_many :pins
end
所以要获得自行车类别的所有引脚,你可以这样做:
Category.where(name: "bike").first.pins
或:
Category.find_by_name("bike").pins