У меня есть модель компании, и я использую friendly_id как этот friendly_id :name, use: :slugged
Изменить уникальные сгенерированные имена заголовков дружественного-идентификатор, используя атрибут другой таблицы
Но так как может быть много компании с тем же именем (разной ветви). Я пытаюсь обработать этот случай, используя атрибут города по адресу компании.
Но адрес компании хранится в другой таблице Адрес.
поэтому компания.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 , а функция, позволяющая использовать slug_candidates, доступна в версиях 5 и выше.
Я пробовал обновлять драгоценный камень. Но он не будет обновляться, поскольку версия 5 имеет зависимость от activerecord 4.0, а рельсы зависят от activerecord. 3.2.13.
Это своего рода тупик. Не знаю, что делать
Я уверен, что это должно сработать. Но сейчас я столкнулся с другой проблемой. и сделал небольшое чтение, и причина этого в том, что версия friendly_id не v5 или выше. – Alfie
И позвольте мне добавить я не могу обновить friendly_id, как я получаю сообщение об ошибке, – Alfie
'' 'В Gemfile: рельсов (= 3.2.13) рубин зависит от ActiveRecord (= 3.2.13) рубинового friendly_id (~ > 5.1.0) ruby зависит от activerecord (> = 4.0.0) ruby '' ' – Alfie