目标: 我想显示清单模型中当前存在的所有类别。
例如,一个列表可以具有许多类别。假设我有100个类别和10个列表,但Listing.category_ids中目前仅使用其中20个类别。
我已经尝试过:
@categories = Category.all.where(id: @listings.each {|listing| listing.category_ids})
@categories = Category.where(id: Listing.all.includes(:category_ids)).order(name: :asc)
@categories = Category.where(id: [@listings.each {|listing| listing.category_ids}])
和其他一些类似的方式。顺便说一句,我使用Postgres。
尽管未使用该类别,但这两种尝试都只出现在类别模型中的第一个类别。
型号:
列出
has_and_belongs_to_many :categories
类别:
has_and_belongs_to_many :listings
然后我也有了一个Categories_Listings连接表。这就是关联的存储位置。
答案 0 :(得分:1)
您只需要加入即可。试试
var fieldName="UserField";
var fieldValue="update value here..."
var obj = {
id: 123,
[fieldName]: fieldValue
};
var message="The field ["+ fieldName +"] will be updated with the value of ["+ obj[fieldName] +"]";
这样,您应该只看到列表中具有匹配项的行