在casting_controller中的 def创建功能中。我创建一个Casting对象并保存它。这没关系,但我也想创建一个LinkCastingToModel对象,从我的控制器向它插入数据,但是当我检查时,数据总是为零。我如何将数据插入其中
def create
@casting = Casting.new(casting_params)
@casting.models_booked = 0
link = LinkModelAndCasting.new
link.client_id = @casting.id
link.save
# link_model_and_casting = LinkModelAndCasting.new(:casting_id => @casting.id)
# link_model_and_casting.save
respond_to do |format|
if @casting.save
format.html { redirect_to @casting, notice: 'Casting was successfully created.' }
format.json { render :show, status: :created, location: @casting }
else
format.html { render :new }
format.json { render json: @casting.errors, status: :unprocessable_entity }
end
end
end
我使用postgresql,谢谢。
答案 0 :(得分:2)
这是因为当您从clinet_id
分配link
到@casting.id
时,直到那时@casting
未被保存,所以{{1实际上是id
。
在此之前,您必须致电nil
。然后它会工作。像这样:
@casting.save