Domanda

friendly_id per i miei percorsi nella mia applicazione Rails.

Voglio garantire che una pagina non può essere visitato da l'id numerico.

Una pagina è accessibile come questo - www.myurl.com/myfriendlyidstub

La pagina non deve essere accessibile come questo - www.myurl.com/12345 (12345 è l'id del myfriendlyidstub)

Non riesco a vedere un modo per fare questo in documenti di friendly_id.

Quindi, sto considerando l'aggiunta di un metodo in mio controller per verificare se il parametro è numerico

def edit
    if params[:id].is_numeric? #I need to know how to write this method
        not_found #not_found redirects to a 404
    end 
    #rest of the edit action
end

Due domande -

Come faccio a scrivere il metodo 'is_numeric'?

E 'questo un buon modo di fare le cose? Vedi qualche insidie?

È stato utile?

Soluzione

mi piacerebbe usare un before_filter prima di attaccare in ogni metodo.

È anche possibile configurare un instradamento vincolo segmento .

Altri suggerimenti

Sembra che si vogliono solo avere nomi utente come un diritto permalink dopo la radice '/'...

config/route.rb
...
match '/:id' => 'controller#show'
...

Dopo di che credo che se si imposta amichevole E 'correttamente dovrebbe mostrare come un nome invece di un id.

indipendente tra grazie per la ricerca di friendly_id, stavo per iniziare la ricerca di qualcosa di simile per il mio progetto.

Fammi sapere se funziona.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top