1
色器件部件I有keywords
和groups
,然後一組,並設計之間groups
belongs_to
member
協會之間的has_and_belongs_to_many
關聯。Ruby on Rails的 - 代表上has_and_belongs_to_many關聯
class Keyword < ActiveRecord::Base
has_and_belongs_to_many :groups
delegate :member, to: :groups
validate :keywords_within_limit, on: :create
def keywords_within_limit
if self.member.keywords(:reload).count >= self.member.keyword_limit
errors.add(:keyword, "exceeded limit")
end
end
end
我試着訪問我使用delegate
目前的成員方法,但我得到的錯誤NoMethodError - undefined method member for #<ActiveRecord::Associations::CollectionProxy []>:
我可以看到成員是一個方法,通過做self.methods
爲什麼我不能訪問我的成員方法使用delegate
?
我想獲得的時候都添加新的關鍵字當前成員擁有的關鍵字數量。 –
任何想法我怎麼能做到這一點? –
由於組belongs_to成員,也許成員has_many組?所以也許'member.groups.collect {| group | group.keywords} .uniq'可能有效。 – Sushma