gpt4 book ai didi

mysql - 自动创建 `belongs_to`记录

转载 作者:行者123 更新时间:2023-11-29 07:27:30 26 4
gpt4 key购买 nike

以前有人问过类似的问题,但我就是不明白。

所以我有 Model_A 和 Model_B。模型_B 属于 模型_A。我想做的是,当我创建 Model_A 时,自动调用 Model B 的 create 方法。然后脚本接管并为 Model_B 生成一堆数据。我使用 after_create 因为这只需要发生一次。

需要这样完成。如果您想了解详细信息,请随时询问...

所以我在这里找到了 Model_A。我似乎无法在 create_model_b 中获得正确的语法。在我使用的示例中,我只是收到一条错误消息,指出 Model_A 不存在该方法。

class Model_A < ActiveRecord::Base
belongs_to :Model_B
after_create :create_model_b

...

def create_model_b
#so I tried a bunch of stuff here but none of it worked
#I need to create a Model_B which will contain the current Model_A id
#ex. self.model_b.create(model_a_id: self.id)
end
end

Model_B 实际上并没有做任何特别的事情:

class Model_B < ApplicationController
def create
@model_b = Model_B.new(model_b_params)
create_the_data

respond_to do |format|
if @model_b.save
#redirect
else
#uh oh
end
end
end
end

谢谢!

最佳答案

两种方式:

1.

class Model_A < ApplicationController

def create
@model_a = ModelA.new(model_a_params)
if @model_a.save
ModelB.create(model_a_id: @model_a.id, .....)
#create data for model B either here or with after_create (of model B)
redirect_to somewhere_awesome_path
else
# rescue error
render 'new'
end
end

2.

class Model_A < ActiveRecord::Base
after_create :create_model_b

...

def create_model_b
ModelB.create(model_a_id: id)
end
end

关于mysql - 自动创建 `belongs_to`记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34033794/

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