我有一个名为Kase的模型,每个“案例”都通过以下代码分配给联系人:
class Kase < ActiveRecord::Base
validates_presence_of :jobno
has_many :notes, :order => "created_at DESC"
belongs_to :company # foreign key: company_id
belongs_to :person # foreign key in join table
belongs_to :surveyor,
:class_name => "Company",
:foreign_key => "appointedsurveyor_id"
belongs_to :surveyorperson,
:class_name => "Person",
:foreign_key => "surveyorperson_id"
我想知道是否可以在联系人页面上列出与该人有关的所有情人。
我假设我需要在Person模型中使用find命令?也许类似以下内容?
def index
@kases = Person.Kase.find(:person_id)
还是我完全误解了一切?
谢谢,
丹尼
编辑:
如果我使用:
@kases= @person.kases
我可以成功地执行以下操作:
<% if @person.kases.empty? %>
No Cases Found
<% end %>
<% if @person.kases %>
This person has a case assigned to them
<% end %>
但如何从kase表中为每个找到的记录输出“jobref”字段?
答案 0 :(得分:3)
也许以下可行:
@person.kase.conditions({:person_id => some_id})
其中some_id
是整数值。
修改强>
你有关联,所以你可以直接使用如下:
@kases= @person.kases
在您的show.rhtml
中,您可以直接在.rhtml中使用实例变量
另外@kases
是一个数组,所以你必须迭代它。
<% if @kases.blank? %>
No Kase found.
<% else %>
<% for kase in @kases %>
<%=h kase.jobref %>
<% end %>
<% end %>
答案 1 :(得分:0)
如果您的个人模型具有关联has_many:kases,则可以使用此
获取属于某个人的所有案例@kases = Person.find(person_id).kases
假设person_id具有您想要查看案例的人的ID。
答案 2 :(得分:0)
你可能想要像
这样的东西has_many :kases
您的Person模型中的,可让您执行@kases = Person.find(person_id).kases
以及has_many启用的所有其他内容。
另一种方法是直接通过Kase:
@kases = Kase.find_all_by_person_id(person_id)