所以我想要一个允许用户为特定事件制作rsvp的选项。该活动还应该有一份已经参加活动的人员名单。 我已经尝试了无数个小时来解决这个问题,并阅读了一些我认为相关但却没有成功的教程。我不确定在这篇文章中我需要显示多少代码所以我只是链接我的github。 Free Flowing multi-directional Smooth scrollable android overlay UI
我真的很感谢帮助,我不是要求你们中的任何人为我完成代码,通过查看你们经验丰富的人员解决方案来学习它的概念真的很有帮助。比我在铁轨上。
答案 0 :(得分:0)
RSVP本质上是在现实生活中创造人与事件之间关联的事物。同样,在您的代码中,您将如何将两个模型链接在一起。
因此,要做到这一点,RSVP应该是用户和事件之间的连接表。通过查看您的代码,您似乎没有Event
模型,因此我假设您的情况Event
与Post
相同
所以你会做这样的事情:
<强> Rsvp.rb 强>
class Rsvp < ApplicationRecord
belongs_to :user
belongs_to :post
end
然后创建关联:
<强> User.rb 强>
class User < ApplicationRecord
has_many :rsvps
has_many :posts, through: :rsvps
end
<强> Post.rb 强>
class Post < ApplicationRecord
has_many :rsvps
has_many :users, through: :rsvps
end
然后创建相关的迁移:
class CreateRsvps < ActiveRecord::Migration[5.1]
def change
create_table :rsvps do |t|
t.belongs_to :user
t.belongs_to :post
end
end
end
现在您可以通过以下方式回复事件:
Rsvp.create(user_id: user_id, post_id: post_id)
如果您想要一个用户要去的所有事件的列表,您可以这样做:
user.posts
或所有RSVP参与活动的人员名单:
post.users