0
這裏是我的數據結構:模特協會在哪裏?
class Report < ActiveRecord::Base
has_many :keywords
end
class Keyword < ActiveRecord::Base
belongs_to :report
end
當創建一個Report
,關鍵字數據是從第三方API檢索。
def create
@report = Report.new(params[:report])
@report.get_keywords
create!
end
Report
模型與返回第三方數據的服務對象進行交互。然後應將數據轉換爲keywords
,並且應該對新創建的Report
進行關聯。
在檢索數據後Report
模型中是否應該創建keywords
?該協會是否也在那裏?
編輯:這是我的報告模型。如何從模型內部創建關聯?
def get_keywords
data = ThirdPartyDataFetcher.new.fetch_keywords
create_keywords(data)
end
private
def create_keywords(data)
data.each do |key, value|
keyword = Keyword.new
keyword.description = key
keyword.total_value = value
# An association should be made and the keyword should be saved
self.keywords << keyword
keyword.save
end
end
如何從模型類中創建關聯?我只是通過控制器 – mnort9
@ mnort9 ...'self.keywords << the_keyword_generator',或'='或其他什麼來建立關聯。雖然如果它來自API,我可能有一些注入關鍵字生成方法的方法。 –
你是什麼意思?在Report類中,您有一個對關鍵字集合的引用,您可以使用它。例如: self.keywords ='key1' – ema