可能是一个非常基本的问题,但我似乎无法弄清楚这一点。说我有模特衣服和颜色。
如果衣服中有某种颜色,衣服有多种颜色,那么使用Active-record检查最有效的方法是什么。如果可能的话我想得到一个布尔值。
答案 0 :(得分:0)
由于(据推测)许多衣物可以具有相同的颜色而某些衣物有许多颜色,因此您需要一个连接表和(最简单的情况)您使用的是HABTM关系。
当你正在检查一件特定的衣服时(即你已经加装了衣服模型),你可以用模型方法有效地做到这一点。
您可以创建方法has_colour?
class Clothing < ApplicationRecord
has_and_belongs_to_many :colours
def has_colour?(colour)
colours.include?(colour)
end
end