1

我一直在为 Rails 应用程序上的引脚研究脚手架类别已有一段时间了。我已经成功地为每个新图钉分配了一个类别,但是我该如何设置它,以便当我查看某个特定类别(即“汽车”)时,它会自动呈现该“汽车”中的所有图钉“ 类别?

我已经尝试过类似于呈现特定用户的引脚的代码(即“user/1”>,但这不适用于类别,所以我应该怎么做?任何帮助将不胜感激。

这是我的代码

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 这样的部分吗?我应该怎么做呢?提前致谢。

4

1 回答 1

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
于 2013-09-03T06:19:17.277 回答