gpt4 book ai didi

ruby-on-rails - 加入 Tables & Rails

转载 作者:行者123 更新时间:2023-12-04 05:56:55 24 4
gpt4 key购买 nike

我有事件和用户/团队。

class Event
has_many :users, :through => :registrations
end
class User
has_many :events, :through => :registrations
end
class Registration
belongs_to :users
belongs_to :events
end

当我注册用户时,我会像这样将他们连接到事件:

@event.users << @user

这是否隐含地为用户/事件创建了注册对象?我在我的注册迁移中放了一个 :goal_amount 列,我希望能够在创建注册时设置 :goal_amount。我是否需要显式创建注册(即:Registration.create(:user_id => @user.id, :event_id => @event.id, :goal_amount => params[:goal_amount])实现这一目标?

最佳答案

是的,将用户添加到事件会自动创建关系对象。
是的,如果您希望在中间表中添加该参数,则必须手动创建关系。

让它看起来更酷的一个解决方案是在事件对象中创建一个 add_user 方法。

def add_user user, goal_amount
Registration.create({
:user => user,
:event => self,
:goal_amount => goal_amount)
})
end

然后你只需要调用

@event.add_user @user, 100

关于ruby-on-rails - 加入 Tables & Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3369341/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com