Как я останавливаю выполнение контроллера после использования redirect_to? (Использование направляющих)

Кажется, что сработает следующее:

//p[@class="ps-sell-price"]/*[not(self::span[@class="visuallyhidden price-text"])]

Я должен внимательно прочитать документы, так как не понимаю, что self :: делает в XPath.

Спасибо, Кристиан.

44
задан Hamish Downer 4 May 2009 в 16:21
поделиться

4 ответа

Вы, вероятно, хотите использовать фильтры.

Если вы называете свой check_date как before_filter в контроллере, тот факт, что он отображен или redirected будет препятствовать тому, чтобы контроллер когда-либо вызывал метод действия. Это заканчивается там и тогда.

35
ответ дан 26 November 2019 в 21:52
поделиться

redirect_to просто сообщает рельсам, что делать при завершении. Rails будет сбит с толку, если вы добавите другие директивы render или redirect_to после той, которая вам действительно нужна, поэтому просто возвращайтесь из контроллера после redirect_to - это «нормальный» способ rails.

6
ответ дан 26 November 2019 в 21:52
поделиться

Вы можете добавить

return false

везде, где вы хотите, чтобы выполнение кода в вашем действии остановилось

16
ответ дан 26 November 2019 в 21:52
поделиться

Вы также можете сделать:

return redirect_to :action => 'index'

и

return redirect_to :action => 'month_index', 
  :year => Date.today.year, 
  :month => Date.today.month,
  :type => params[:type]

, так как это выглядит лучше, чем помещать return в отдельной строке (IMHO).

48
ответ дан 26 November 2019 в 21:52
поделиться
Другие вопросы по тегам:

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