Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails ActiveRecord——用户有许多事件,并且作为成员属于这些事件_Ruby On Rails_Activerecord - Fatal编程技术网

Ruby on rails ActiveRecord——用户有许多事件,并且作为成员属于这些事件

Ruby on rails ActiveRecord——用户有许多事件,并且作为成员属于这些事件,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我想建立一种关系,在这种关系中,用户可以启动活动,然后也可以作为成员加入他们。我认为这使用了多对多关系,但它也有一个简单的从事件到用户的归属关系 class User < ActiveRecord::Base has_secure_password has_many :events # => Owning has_many :events, through: :members # => Joining end class Event < ActiveRec

我想建立一种关系,在这种关系中,用户可以启动活动,然后也可以作为成员加入他们。我认为这使用了多对多关系,但它也有一个简单的从事件到用户的归属关系

class User < ActiveRecord::Base
  has_secure_password
  has_many :events # => Owning
  has_many :events, through: :members  # => Joining
end

class Event < ActiveRecord::Base
  belongs_to :user # => event owner
  has_many :users, through: :members # => joining users
end

class Member < ActiveRecord::Base
  belongs_to :user
  belongs_to :event
end

已更新以修复我的错误

  class User < ActiveRecord::Base
      has_secure_password
      has_many :members
      has_many :events, through: :members
    end

    class Event < ActiveRecord::Base
      #belongs_to :user # => event owner
      has_many :members
      has_many :users, through: :members

    class Member < ActiveRecord::Base
      belongs_to :user
      belongs_to :event
    end
class用户事件所有者
有很多:成员
拥有多个:用户,通过::成员
类成员

如果这是给你一个堆栈级别太深的错误,我猜问题在别处。您的日志可能包含更多信息。

是否有错误?如果是这样的话,您能显示您得到的实际错误吗?
NoMethodError:#
的未定义方法“成员”看起来像是您的许多方法都是反向的<代码>归属于:用户#=>事件所有者有_多个:用户有_多个:成员,通过::users
。与用户模型中的事件相同。好吧,是的,我想这可能就是问题所在。在这种情况下,尽管我得到了这个错误:
ActiveRecord::HasManyThroughAssociationNotFoundError:找不到关联:模型事件中的用户(编辑:我需要将has\u许多:用户添加到事件模型中)必须添加它。我在评论中有它(尽管我评论中的格式很糟糕)
有很多:用户
感谢您的帮助,但这给了我堆栈级别太深的错误。。。我将不得不更多地研究这些关系在幕后是如何运作的,但我感到相当沮丧。也许我错过了一步?
  class User < ActiveRecord::Base
      has_secure_password
      has_many :members
      has_many :events, through: :members
    end

    class Event < ActiveRecord::Base
      #belongs_to :user # => event owner
      has_many :members
      has_many :users, through: :members

    class Member < ActiveRecord::Base
      belongs_to :user
      belongs_to :event
    end