提交 2f184c33 编写于 作者: J Jeremy Kemper

Correctly report which filter halted the chain. References #6699.

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5715 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
上级 55d4dbb8
*SVN*
* Correctly report which filter halted the chain. #6699 [Martin Emde]
* Fix a bug in Routing where a parameter taken from the path of the current request could not be used as a query parameter for the next. Closes #6752. [Nicholas Seckar]
* Unrescued ActiveRecord::RecordNotFound responds with 404 instead of 500. [Jeremy Kemper]
......
......@@ -616,10 +616,7 @@ def self.included(base)
end
def perform_action_with_filters
#result = perform_filters do
# perform_action_without_filters unless performed?
#end
@before_filter_chain_aborted = (call_filter(self.class.filter_chain, 0) == false)
call_filter(self.class.filter_chain, 0)
end
def process_with_filters(request, response, method = :perform_action, *arguments) #:nodoc:
......@@ -640,7 +637,7 @@ def call_filter(chain, index)
filter.call(self) do
halted = call_filter(chain, index.next)
end
halt_filter_chain(filter.filter, :no_yield) if halted == false
halt_filter_chain(filter.filter, :no_yield) if halted == false unless @before_filter_chain_aborted
halted
end
......@@ -653,6 +650,7 @@ def halt_filter_chain(filter, reason)
logger.info "Filter chain halted as [#{filter.inspect}] returned false."
end
end
@before_filter_chain_aborted = true
return false
end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册