给出如下模型:
class PhoneNumber < ActiveRecord::Base
has_many :personal_phone_numbers
has_many :household_phone_numbers
has_many :organization_phones
has_many :people, :through => :personal_phone_numbers
has_many :households, :through => :household_phone_numbers
has_many :organizations, :through => :organization_phones
end
在查看电话号码时,我可能会将其视为嵌套资源,因此控制器将具有person_id
,household_id
或{organization_id
之一的参数项。 {1}}
我需要视图让link_to "Return", ...
返回到我们来自电话号码的正确资源。我该怎么做?
答案 0 :(得分:1)
如果您正在使用嵌套资源,那么您需要在PhoneNumberController上设置一个前置过滤器来设置父对象,这样您就可以@parent.phone_numbers.build(...)
了吗?同时(before_filter),设置@parent_path
(organization_path
,household_path
...),您可以在视图中将其链接到。
如果您使用:polymorphic => true
而不是has_many :through
为这些内容(组织,家庭......)添加电话号码,您可以简单地选择您将要设置的@parent在PhoneNumbersController before_filter
中,而是polymorphic_path(@parent)
。