Rails, как я могу объединить несколько атрибутов модели, чтобы создать уникальную постоянную ссылку, используя Permalink_FU?
-
26-09-2019 - |
Вопрос
Can Permalink_fu комбинирует 2 или более атрибутов модели для создания уникальной постоянной ссылки?
Допустим, у меня есть бизнес-модель, эта модель содержит: Имя,: Адрес,: Телефон,: Город,: Государство: Страна и т. Д. Атрибуты.
Прямо сейчас у меня есть постоянная ссылка в этой модели только для: имя
has_permalink: name.
Так что я бы получил "/ Biz / имя". Однако я хотел бы объединить название, город и инкрементное число, если в городе более чем 1 местонахождение в городе.
Например, я хотел бы использовать:
"/ Biz / Joes-Coffee-Chick-Chicago" для постоянной ссылки
или если многопользование бизнес
"/ Biz / Starbucks-Chicago-92"
Возможно ли это с текущей плагином Permalink_FU или вилкой Permalink_fu? Или это потребует некоторая модификация в плагин Permalink_FU?
Решение
Вы можете установить атрибуты в качестве массива:
has_permalink [:one, :two, :three]
Они будут автоматически соединяться -
. Отказ PERMALINK_FU также автоматически добавляет суффикс, если она уже есть запись с этой постоянной ссылкой.
Другие советы
Добавьте виртуальный атрибут вашему Business
модель.
class Business < ActiveRecord::Base
attr_accessor :perma_link_attr
has_permalink :perma_link_attr
def perma_link_attr
suffix = 1
[:name, :city, suffix].join("-")
end
end