【发布时间】:2015-01-13 05:01:20
【问题描述】:
我目前有三种模型:两种支持 Devise auth gem 的不同用户模型:社区组织者和普通用户,以及一种社区活动模型。
我正在尝试让社区组织者创建活动:
- 用户可以向哪些人捐款;
- 哪些用户可以参加。
我使用 Stripe 作为支付网关。到目前为止,我已经为 Event 模型设置了一个控制器/模型脚手架:
class Event < ActiveRecord::Base
extend FriendlyId
friendly_id :title, use: :slugged
belongs_to :org_user #organization_user
has_one :category
end
这是我的组织用户模型:
class OrgUser < ActiveRecord::Base
extend FriendlyId
friendly_id :username, use: :slugged
has_many :posts
has_many :comments
has_many :events
end
有人告诉我,我的事件和 org_user 模型中可能需要这些特定模式
class Event < ActiveRecord::Base
event has_many :attendances
event has_many :users, through: :attendances
end
class OrgUser < ActiveRecord::Base
org_user has_many :attendances
org_user has_many :events, through: :attendances
end
class User < ActiveRecord::Base
end
您对建立这种关系有何建议。我也不想忘记 User.rb,它将签署表单以成为 :org_user 发布的事件的一部分。
只有 org_user 才能创建/发布事件。普通用户将有权访问注册表单以参加这些活动。请帮我清除这个障碍。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 devise