Rails嵌套资源的.new和.create方法(HABTM关系)

时间:2014-05-13 02:15:31

标签: ruby-on-rails activerecord

我有两个关系,即User和Branch,它们之间存在多对多关系(我在模型中使用了HABTM),并且它们由一个名为branches_users的表连接。

当我使用时,在分支和连接表中创建一个条目:

User.find(1).branches.create({" branch_id" => 12312," branch_name" =>"示例" })

但是,当我使用

object = User.find(1).branches.new({" branch_id" => 12312," branch_name" =>"示例&# 34;})

然后使用

object.save

该条目仅在分支表中创建,因此当我使用 User.find(1).branches 时,条目不会出现。我需要一个解决方法,我需要使用new而不是create,因为在我保存之前我必须做一些操作。

1 个答案:

答案 0 :(得分:0)

以下是如何操作的示例:

object = Branch.new({"branch_id" => 12312, "branch_name"=> "sample"})
object.users << User.find(1)
object.save

save之前,你可以操纵你想要的任何东西。它将以正确的方式保存关系。