gpt4 book ai didi

ruby-on-rails - 如何在 Rails 中同时通过对象保存多个 has_many?

转载 作者:行者123 更新时间:2023-12-04 03:39:40 25 4
gpt4 key购买 nike

我有两个相关的模型如下。

USERS
has_many :celebrations
has_many :boards, :through => :celebrations

BOARDS
has_many :celebrations
has_many :users, :through => :celebrations


CELEBRATIONS
:belongs_to :user
:belongs_to :board

在我的 Controller 中,我想从表单数据创建对象。我这样做如下:

  @user = User.new(params[:user])
@board = Board.new(params[:board])
if @user.save & @board.save
@user.celebrations.create(:board_id => @board,:role => "MANAGER")
redirect_to :action => some_action
end

由于模型是由多个through连接的,有没有办法一次性保存它们,然后一次性产生错误信息,以便它们同时显示在表单上?

最佳答案

这样就可以了

@user = User.new(params[:user])
@user.boards << @board
@user.save

这将保存与同一命令相关联的用户对象和板对象 @user.save。它还会创建中间庆祝记录,并保存 user_idboard_id 但在您的情况下,它可能没有用,因为您需要设置庆祝表其他列的值

关于ruby-on-rails - 如何在 Rails 中同时通过对象保存多个 has_many?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5218994/

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