Mam następującą trasę:Szyny zwyczaj trasa z ograniczeniami - regexp znaki kotwiące nie są dozwolone w wymogach routingu
get 'users/:user_id/:name', to: 'profiles#show',
:constraints => { :name => /[a-zA-Z0-9_]+$/ }, as: 'user_profile'
która produkuje błąd:
Regexp anchor characters are not allowed in routing requirements: /[a-zA-Z0-9_]+$/
Więc dostać że^charakter jest niedozwolone, ale nie jest pewien, który znak generuje ten konkretny błąd routingu.
Istnieją również "\ A" i "\ Z" tych, których znam. – rausch
@rausch - Ogólnie mówiąc, w wyrażeniach regularnych lepiej używać do tego celu kija i dolara. Niektóre środowiska (JavaScript, POSIX, XML) nie obsługują "\ A" i "\ Z". –
@ Ωmega W Ruby nie powinieneś tego robić; zawsze sięganie po '^' i '$' może prowadzić do luk w zabezpieczeniach: http://homakov.blogspot.ru/2012/05/saferweb-injects-in-various-ruby.html http://guides.rubyonrails.org /security.html#regular-expressions –