Rails, come posso combinare più attributi modello per creare un permalink unico utilizzando permalink_fu?
-
26-09-2019 - |
Domanda
Can Permalink_fu combinare 2 o più attributi del modello per creare un permalink unico?
Diciamo che ho un modello di business, questo modello contiene: nome,: indirizzo,: telefono,: città,: Stato,:. Paese, ecc attributi
In questo momento ho permalink istituito in questo modello solo per: nome
has_permalink: nome
Così ho otterrebbe "/ biz / name". Tuttavia vorrei coniugare la ragione sociale, della città, e un numero incrementale, se ci sono più di 1 posizione in città per tale attività.
Per esempio vorrei utilizzare:
"/ biz / joes-caffè-baracca-Chicago" per il permalink
o se un business posizione multple
"/ biz / starbucks-Chicago-92"
Questo è possibile con il plugin permalink_fu corrente o qualche forchetta di permalink_fu? O sarà questo richiederà qualche modifica alla permalink_fu plug-in?
Soluzione
È possibile impostare gli attributi come array:
has_permalink [:one, :two, :three]
A loro si uniranno automaticamente -
. Permalink_fu anche aggiunge automaticamente un suffisso se c'è già un record con che permalink.
Altri suggerimenti
Aggiungi un attributo virtuale al modello di 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