Rails, come posso combinare più attributi modello per creare un permalink unico utilizzando permalink_fu?

StackOverflow https://stackoverflow.com/questions/2615275

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?

È stato utile?

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top