0
在我的Rails 3應用程序中,我有兩個型號,Profile
和Item
。每個人都有一個HABTM與另一個人的關係。在我的Profile模型中,我有一個方法wish_items
,它創建了一個同名的數組(wish_items)。如果項目包含「希望」類別,則將其添加到該配置文件的wish_items
陣列中。查找並計算對象名稱爲HABTM關係的所有配置文件
爲了這個問題的目的,說我有一個名爲「手機」與類別「願望」的項目。我想要做的是能夠找到並計算在其wish_items
陣列中具有「手機」的所有配置文件,以便我可以在視圖中呈現該計數。我的代碼如下。
我Profile.rb
型號:
class Profile < ActiveRecord::Base
has_and_belongs_to_many :items
def wish_items
wish_items = Array.new
items.each do |item|
if item.category == "wish"
wish_items << item
end
end
return wish_items
end
end
我Item.rb
型號:
class Item < ActiveRecord::Base
has_and_belongs_to_many :profiles
end
我有一個連接表items_profiles
這種關係。下面是遷移:
class CreateItemsProfiles < ActiveRecord::Migration
def self.up
create_table :items_profiles, :id =>false do |t|
t.references :item
t.references :profile
end
end
...
end
我看到這個previous question和答曰一個嘗試,但得到了一個錯誤NameError: uninitialized constant phone
。下面是我從那些試圖代碼:
Profile.all(:include => :items, :conditions => ["items.name = ?", phone])
具體來說,我把這些代碼如下所示:
<%= pluralize(Profile.all(:include => :items, :conditions => ["items.name = ?", phone])).count, "person") %>
我怎樣才能做到這一點?