我有一个公司模型,我正在使用这样的friendly_id
friendly_id :name, use: :slugged
但是因为可能有许多公司具有相同的名称(不同的分支机构)。我试图通过使用公司地址中的城市属性来处理这种情况。
但公司地址存储在不同的地址表中。
所以company.address.city给了我公司的城市。
friendly_id :slug_candidates, use: :slugged
# Try building a slug based on the following fields in
# increasing order of specificity.
def slug_candidates
[
:name,
[:name, :city]
]
end
我知道我可以做上面这样的事情。但由于city
不是公司的一个属性,我怎么能实现这个目标呢?
更新:
可能的解决方案是创建一个帮助方法city
,它返回公司的城市。
但问题从未如此。
我使用的friendly_id版本是4.0.10.1 版本5及以上版本中提供了使用slug_candidates的功能。
我尝试更新gem。但它不会更新,因为版本5依赖于activerecord 4.0并且rails依赖于activerecord 3.2.13
这是一种僵局。不知道该怎么做
答案 0 :(得分:1)
class Company < ActiveRecord::Base
.............................
def city
self.address.city
end
end