型号:
材料有很多表达
快递属于材料
expressesController.rb
def index
@express = @material.expresses.new
@expresses = @material.expresses
end
@express = @material.expresses.new
会导致缓存
CACHE(0.0ms)SELECT"表达"。* FROM"表达"哪里 "表示"" material_id" =? [[" material_id",2]]
这会导致表达式表总是有一个额外的空行。
我该如何解决这个问题?
===========================================
的 编辑:
当我将@expresses = @material.expresses
转为@expresses = @material.expresses.all
时,这就解决了问题
为什么会这样?
答案 0 :(得分:0)
@material.expresses.new
是@material.expresses.build
的别名。这样您就可以创建Express
的新实例并将其添加到关联@material.expresses
我认为这是您的空行的原因。这是目前创建的快递记录。也许你想要这个:
def index
@express = Express.new(material: @material)
@expresses = @material.expresses
end