determinare se stringa contiene solo numeri
-
26-10-2019 - |
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?
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.