参考变量的值检索数据

时间:2013-06-27 18:18:12

标签: ruby-on-rails-3.2

- !ruby/object:Pacdoc
    attributes:
    id: 5
    pac_id: 5
    doc_id: 1
    created_at: 2013-06-26 12:07:33.263881000 Z
    updated_at: 2013-06-26 12:07:33.263881000 Z

- !ruby/object:Pacdoc
    attributes:
    id: 6
    pac_id: 5
    doc_id: 2
    created_at: 2013-06-26 12:07:33.266881000 Z
    updated_at: 2013-06-26 12:07:33.266881000 Z

已在变量 @pdocs 中收集了上述数据,并且能够挑出 doc_id

的值
<%= @pdocs.each do |a| %>
   <%= b = a.doc_id %>
<% end%>

现在想要使用结构doc_id从'doc'表中检索数据,下面的名称:字符串是模型

models
class Pacdoc < ActiveRecord::Base
  attr_accessible :doc_id, :pac_id

  belongs_to :pac
  belongs_to :doc
end

class Pac < ActiveRecord::Base
  attr_accessible :name

  validates :name, :presence => :true

  has_many :pacdocs
  has_many :docs, :through => :pacdocs
end

class Doc < ActiveRecord::Base
  attr_accessible :name

  validates :name, :presence => :true

  has_many :pacdocs
  has_many :pacs, :through => :pacdocs
end

1 个答案:

答案 0 :(得分:0)

我不确定我理解你想要什么,但我想你想要从Doc模型中检索Pacdoc中的外键匹配的数据。您实际上不需要手动匹配ID,ActiveRecord会为您处理。要检索您将要执行的Doc的名称:

<%= @pdocs.each do |a| %>
   <%= a.doc.name %>
<% end%>

虽然这样做时要小心N + 1个查询。