Ruby on rails 添加型号A';将多个列添加到模型B';在创建、更新时创建一列

Ruby on rails 添加型号A';将多个列添加到模型B';在创建、更新时创建一列,ruby-on-rails,Ruby On Rails,这是一个关于Rails的问题。由于我的思维斯芬克斯不知何故无法索引关联模型A,我正在寻找一个临时解决方案 型号A: -包含列:名称、城市 模式B: -你有很多A型车吗 -有栏目:国家 -我想在模型B中添加一个名为“tag”的列 假设我们有: B1-美利坚合众国(:国家),有A1和A2 A1-沃尔玛(:名称),纽约(:城市) A2-星巴克(:名称),旧金山(:城市) 每当用户创建/更新清单B1时,A.name和A.city: -每个A映射,添加到B.tag,join(“,”) -然后保存 因此,在

这是一个关于Rails的问题。由于我的思维斯芬克斯不知何故无法索引关联模型A,我正在寻找一个临时解决方案

型号A: -包含列:名称、城市

模式B: -你有很多A型车吗 -有栏目:国家 -我想在模型B中添加一个名为“tag”的列

假设我们有:

B1-美利坚合众国(:国家),有A1和A2 A1-沃尔玛(:名称),纽约(:城市) A2-星巴克(:名称),旧金山(:城市)

每当用户创建/更新清单B1时,A.name和A.city: -每个A映射,添加到B.tag,join(“,”) -然后保存

因此,在上述示例中,B1.tag将具有: 沃尔玛、纽约、星巴克、旧金山

那么我可以把它放在模型B中:

class B < ActiveRecord::Base
  has_many :as      # plural for A's

# ThinkingSphinx Index
  define_index do
    indexes :country
    indexes :tag
  end

end
B类
我还没有在我的B中添加标记列

我如何在我的B控制器中写入它,以便每次创建/保存它时,它都会自动映射每个A,然后将A.name和A.city连接(“,”)到B.tag中

对不起,我只是在学习rails

谢谢。

请使用观察员(http://api.rubyonrails.org/classes/ActiveRecord/Observer.html)在A模型上创建后运行代码。然后找到新的值并将它们添加到您的B模型中