как связать ассоциацию в RoR - PullRequest
0 голосов
/ 11 июня 2010

У меня есть две таблицы, AppTemplate и AppTemplateMeta

AppTemplate В таблице есть столбец id, MetaID, name и т. Д.

Я связал ихдве модели, подобные этой

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 голосов
/ 11 июня 2010

Если я правильно понял, вы хотите что-то вроде следующего:

# 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...