我在rails应用程序中

时间:2011-04-09 00:24:00

标签: ruby-on-rails

在我的应用程序中,我有一个用户模型和一个地址模型。如何使用地址表单来包含用户ID的ID。 (即我的地址模型有id和id_user)?

2 个答案:

答案 0 :(得分:1)

您的地址模型应包含user_id字段,而不是id_user字段。您似乎只是开始使用Rails,因此我建议您阅读官方Getting StartedAssociation 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 1Part 2

由于您对Rails的体验在当时似乎有限。我建议您查看getting started guide,查看Envy Labs的系列教程(可笑地命名为Rails for Zombies),当您滚动浏览Ryans Bates的Railscasts