Rails 4如何加载has_many关联以进行更新

时间:2015-09-15 22:23:29

标签: ruby-on-rails ruby

我有一个叫做编辑现有客户端的控制器,它可以完成名称所暗示的操作。它将加载该名称的客户端并提取所有相关信息(如果存在)。在视图中我有

@client = Client.find_by(:id => 1) 

并且它正确加载了与客户端有关联的任何内容的所有信息。但是对于类似于客户端所具有的地址的东西,它在视图中根本不显示。我该如何解决这个问题?

示例output

地址内容应该显示在受抚养人数量之下,但事实并非如此。

这是view

here是地址表

Here是客户端的控制器

Here是模型

更新谢谢bntzio。我其实是愚蠢的。它现在正在拉动地址类型,但是表单允许您添加以前的地址和邮寄地址。这是由表格中的一系列bool处理的。现在它只是拉出所有三个地址并将它们置于“当前地址”下。如何添加逻辑来为该部分提取正确的地址?

示例输出here

1 个答案:

答案 0 :(得分:0)

这里要考虑两件事,第一件事:

  • 您的数据库中应该有一个地址列。检查数据库迁移。

它应该是这样的:

t.string :address

如果您的数据库中没有该表,那么您无法访问包含该地址的变量,因此您需要通过迁移添加该变量。

rails g migration AddAddressToUsers address:string

rails g migration AddAddressToClients address:string(取决于你的拥有方式)。

然后执行迁移以迁移更改:

rake db:migrate

重新加载您的服务器并在视图中添加正确的代码,它应该正确显示。

第二件事是:

  • 检查您的控制器是否包含强参数,如果是,则添加您的:地址变量(无论如何,您需要在数据库中包含该变量,如前所述)。