Ruby on rails 如何通过RubyonRails中的关联将记录添加到has_many中

Ruby on rails 如何通过RubyonRails中的关联将记录添加到has_many中,ruby-on-rails,ruby-on-rails-3,activerecord,Ruby On Rails,Ruby On Rails 3,Activerecord,我有这些模型 class EventGroups < ActiveRecord::Base has_many :festival_venues has_many :venues, :through => :festival_venues end class Venue < ActiveRecord::Base has_many :festival_venues has_many :event_groups, :through =&

我有这些模型

class EventGroups < ActiveRecord::Base      
  has_many  :festival_venues
  has_many  :venues, :through => :festival_venues    
end

class Venue < ActiveRecord::Base 
  has_many  :festival_venues
  has_many  :event_groups, :through => :festival_venues 
end

class FestivalVenue < ActiveRecord::Base 
  belongs_to :event_group
  belongs_to :venue
end
class EventGroups:节日场馆
结束
上课地点:节日场馆
结束
类FestivalVenue
  • 现在我想通过事件组创建一个场地,同时还应该创建节日活动中的记录
  • 当我在场馆中删除事件组相关记录时 节日假期也应删除

  • 我如何才能做到这一点?

    在下面的代码中,模型类名必须是单数。将类名
    EventGroups
    更改为
    EventGroups
    。现在它将像一个符咒一样工作

    class EventGroup < ActiveRecord::Base      
      has_many  :festival_venues, dependent: :destroy
      has_many  :venues, :through => :festival_venues, :dependent => :destroy
    end
    
    class Venue < ActiveRecord::Base 
      has_many  :festival_venues
      has_many  :event_groups, :through => :festival_venues  
    end
    
    class FestivalVenue < ActiveRecord::Base 
      belongs_to :event_group
      belongs_to :venue
    end
    
    class EventGroup < ActiveRecord::Base      
      has_many  :festival_venues, dependent: :destroy
      has_many  :venues, :through => :festival_venues, :dependent => :destroy
    end
    

    class EventGroup:festival\u场馆,:依赖=>:destroy
    结束
    
    剩下的代码是好的

    class Venue < ActiveRecord::Base 
      has_many  :festival_venues
      has_many  :event_groups, :through => :festival_venues  
    end
    
    class FestivalVenue < ActiveRecord::Base 
      belongs_to :event_group
      belongs_to :venue
    end
    
    上课地点:节日场馆
    结束
    类FestivalVenue

    希望这会有帮助。谢谢在下面的代码中,模型类名必须是单数。将类名
    EventGroups
    更改为
    EventGroups
    。现在它将像一个符咒一样工作

    class EventGroup < ActiveRecord::Base      
      has_many  :festival_venues, dependent: :destroy
      has_many  :venues, :through => :festival_venues, :dependent => :destroy
    end
    

    class EventGroup:festival\u场馆,:依赖=>:destroy
    结束
    
    剩下的代码是好的

    class Venue < ActiveRecord::Base 
      has_many  :festival_venues
      has_many  :event_groups, :through => :festival_venues  
    end
    
    class FestivalVenue < ActiveRecord::Base 
      belongs_to :event_group
      belongs_to :venue
    end
    
    上课地点:节日场馆
    结束
    类FestivalVenue

    希望这会有帮助。谢谢

    Hi@Marek当我按照上面的回答做的时候,我没有发现“事件组”这个名字的关联。它已经被定义了吗?错误。@Gagan我编辑了我的答案-
    EventGroup
    模型的命名不正确。
    class EventGroup:festival\u场馆,:dependent=>:destroy end
    这里
    有很多:节日场馆,dependent::destroy
    应该是
    有很多:节日场馆,:dependent=>:destroy
    嗨@Marek当我按照你上面的回答做时,我找不到“事件组”这个名称的关联。它已经被定义了吗?错误。@Gagan我编辑了我的答案-
    EventGroup
    模型的命名不正确。
    class EventGroup:festival\u场馆,:dependent=>:destroy end
    这里
    有很多:节日场馆,依赖::destroy
    应该是
    有很多:节日\u场馆,:dependent=>:destroy