使用另一个 table 的属性更改 friendly-id 的唯一生成的标题名称
Change the unique generated title names of friendly-id using attribute of another table
我有一个公司模型,我正在使用 friendly_id 这样的
friendly_id :name, use: :slugged
但是因为可以有很多同名的公司(不同的分支机构)。我正在尝试使用公司地址中的城市属性来处理这种情况。
但公司地址存储在不同的 table 地址中。
所以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
,其中 returns 公司的城市。
但问题从来都不是这个。
我使用的friendly_id版本是4.0.10.1
以及启用 slug_candidates 的功能在版本 5 及更高版本中可用。
我尝试更新 gem。但它不会得到更新,因为版本 5 依赖于 activerecord 4.0 并且 rails 依赖于 activerecord 3.2.13
有点僵局。不知道怎么办
class Company < ActiveRecord::Base
.............................
def city
self.address.city
end
end
我有一个公司模型,我正在使用 friendly_id 这样的
friendly_id :name, use: :slugged
但是因为可以有很多同名的公司(不同的分支机构)。我正在尝试使用公司地址中的城市属性来处理这种情况。
但公司地址存储在不同的 table 地址中。
所以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
,其中 returns 公司的城市。
但问题从来都不是这个。
我使用的friendly_id版本是4.0.10.1 以及启用 slug_candidates 的功能在版本 5 及更高版本中可用。
我尝试更新 gem。但它不会得到更新,因为版本 5 依赖于 activerecord 4.0 并且 rails 依赖于 activerecord 3.2.13
有点僵局。不知道怎么办
class Company < ActiveRecord::Base
.............................
def city
self.address.city
end
end