Получение рендеринга распознать пользовательские пути маршрутизации

Так как кажется, что вы можете конвертировать отдельные символы по мере необходимости (в кодировку cp-1252), один из способов заключается в том, чтобы обрабатывать символ за символом, как это предлагается, когда слово не проходит процедуру.

\X в регулярном выражении Perl соответствует логическому символу Unicode, расширенному кластеру графем , либо как одна кодовая точка, либо как последовательность. Так что если вы действительно можете преобразовать все отдельные (логические) символы в нужную кодировку, то с помощью

while ($word =~ /(\X)/g) { ... }

вы можете получить доступ к логическим символам и применить свою рабочую процедуру к каждому.

В случае, если вы не можете обработать все логические символы, которые могут появиться, соедините эквивалент \X, используя специфические свойства символов , для более тонкой детализации с комбинированием меток или тому подобного (например, /((.)\p{Mn}?)/ или \p{Nonspacing_Mark}). Полный, большой, список находится в perluniprops .

5
задан Barry Hess 23 October 2008 в 21:09
поделиться

2 ответа

Ваша проблема - это: пользователь сначала посещает /login и заполняет форму. Когда они отправляют форму, они POST к /sessions, который является, почему URL браузера изменяется. Для обхождения этого, можно сделать две вещи:

Как Michael упомянул, можно перенаправить назад к: новое действие, еще изменяясь на:

 else
   flash[:warning] = "The email and/or password you entered is invalid."
   redirect_to login_path
 end

Обратите внимание, что необходимо будет изменить флэш-память, таким образом, сообщение будет доступно в следующем запросе (после перенаправления).

Второй метод немного hackier, но возможно стоящий упоминания. При помощи условий на Ваших маршрутах можно отобразить обоих форма входа в систему (который является ПОЛУЧЕНИЕМ), и форма отправляют (который является POST) к тому же пути. Что-то как:

map.login '/login',
  :controller => 'sessions', :action => 'new', 
  :conditions => {:method => :get}

map.login_submit '/login',
  :controller => 'sessions', :action => 'create', 
  :conditions => {:method => :post}

Затем, если Ваше действие формы является входом в систему, отправляют путь, вещи должны работать, как Вы ожидаете.

7
ответ дан 14 December 2019 в 09:04
поделиться

Изменение render :action => 'new' кому: redirect_to login_path

0
ответ дан 14 December 2019 в 09:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: