如何在RoR中绑定关联

时间:2010-06-11 12:10:57

标签: ruby-on-rails

我有两个表,AppTemplateAppTemplateMeta

AppTemplate表格包含id列,MetaIDname等。

我已将这两个模型关联起来

class AppTemplate < ActiveRecord::Base
  set_table_name 'AppTemplate'
  belongs_to :app_template_meta, :class_name => "AppTemplateMeta", :foreign_key => 'MetaID'
end

如果我们使用AppTemplate.all获取数据,我也想要关联的元数据。但目前它没有返回相关的元细节。它只返回AppTemplate个详细信息。 任何人都可以帮助我

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您需要以下内容:

# models
class AppTemplate < ActiveRecord::Base
  # table names usually looks like this: app_template.
  # the same for columns names. so you should have 'meta_id' as foreign key
  set_table_name 'AppTemplate'
  belongs_to :app_template_meta, :class_name => "AppTemplateMeta",
     :foreign_key => 'MetaID'
end

class AppTemplateMeta < ActiveRecord::Base
  has_one :app_template # or has_many
end

# controller
# get all app templates and load the associated app_template_meta for each one
@app_templates = AppTemplate.all(:include => :app_template_meta)
# get associated app_template_meta for the first app_template
@app_templates.first.app_template_meta