gpt4 book ai didi

ruby-on-rails - 如何在Rails中创建连接表记录,有很多: through relationship

转载 作者:太空宇宙 更新时间:2023-11-03 17:23:32 25 4
gpt4 key购买 nike

userevent 有一个 has many: through 关系。

class User < ActiveRecord::Base
has_many :user_events
has_many :events, :through => :user_events
end

class Event < ActiveRecord::Base
has_many :user_events
has_many :users, :through => :user_events
end

在我的事件 Controller 中,我想为 User_events 创建一个记录,我现在使用以下方法进行:

def create
@event = Event.new(event_params)
@user = User.find(current_user.id)
@user_events = User.user_events.create
@user_events.user_id = @user.id
@user_events.event_id = @event.id
end

虽然这感觉很重,但我认为有更好、更“Rails 方式”的方法。正确的做法是什么?

最佳答案

def create
@event = Event.new(event_params)
if @event.save
@event.users << current_user
redirect_to event_path(@event)
else
render action: :new
end
end

关于ruby-on-rails - 如何在Rails中创建连接表记录,有很多: through relationship,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21975407/

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