在我的应用程序中,我有一个用户模型和一个地址模型。如何使用地址表单来包含用户ID的ID。 (即我的地址模型有id和id_user)?
答案 0 :(得分:1)
您的地址模型应包含user_id
字段,而不是id_user
字段。您似乎只是开始使用Rails,因此我建议您阅读官方Getting Started和Association basics指南以了解基础知识。
答案 1 :(得分:0)
您可能希望查看记录关联。我强烈推荐the guide on that very subject on the Rails website。
由于您花时间创建了两个单独的模型(一个用于用户,一个用于地址),我认为这是因为每个用户可以拥有一个或多个地址。 So I would recommend using a has_many association
在地址模型的迁移文件中,您应该具有user_id
类型的列名integer
。按照惯例,rails将使用名为model_id
的列作为与模型的关联。因此,在您的情况下,模型user
可以通过列user_id
与地址相关联。
但是列不够。您还需要告诉Rails关于模型中的关联。因此,将以下内容添加到用户模型的顶部(app / model / user.rb,我认为)
has_many :addresses
然后,告诉您的地址模型它属于用户。这样做再次非常直截了当。在地址模型的顶部添加以下内容(app / model / address.rb)
belongs_to :user
从那里,你可以做各种奇妙的事情。要创建表单,您可能需要查看嵌套模型表单。它上面有两个Railscast Part 1和Part 2
由于您对Rails的体验在当时似乎有限。我建议您查看getting started guide,查看Envy Labs的系列教程(可笑地命名为Rails for Zombies),当您滚动浏览Ryans Bates的Railscasts