Ruby on Rails模型/控制器访问

时间:2012-08-08 07:09:34

标签: ruby-on-rails ruby-on-rails-3.2

我有两个型号,主题页面。我在它们之间建立了一对多的关联。

class Subject < ActiveRecord::Base
  has_many :pages
  attr_accessible :name
  attr_accessible :position
  attr_accessible :visible
  attr_accessible :created_at
end

class Page < ActiveRecord::Base
  belongs_to :subject

  attr_accessible :subject_id
  attr_accessible :name
  attr_accessible :permalink
  attr_accessible :position
  attr_accessible :visible
  attr_accessible :created_at
end

如上所述,我有两个模型,我想访问主题模型中的所有主题名称到页面模型/控制器......

3 个答案:

答案 0 :(得分:1)

尝试一下:

Subject.select("subjects.name").joins(:pages).uniq

答案 1 :(得分:0)

以下是访问主题页面或主题主题的方法。

s = Subject.create(<params>)
s.pages  # array of page objects

p = Page.create(<params>)
p.subject # subject object

答案 2 :(得分:0)

如果您想要保存主题模型中的所有主题,请使用:

Subject.pluck(:name)

或访问与特定页面相关联的主题:

page = Page.first
page.subject  #subject object associated with the page