Josh Peek recently commited
http://github.com/rails/rails/commit/148aff2097890a81e874a7c60bae5fa3b2a4d1fd"Set
template_format to html inside rjs templates so renders within it default to
html."
This broke controller actions like this:
def show
render :partial => 'item' if request.xhr?
end
This action would render default template on ordinary requests and a
"_item.html.erb" partial on XHR requests.
After this commit, if there's an XHR request this raises an exception that
"_item.erb" can't be found. It probably discards the "html" format template
because the request is in "js" format. Workarounds are these:
def show
respond_to do |format|
format.html { render :partial => 'item' if request.xhr? }
end
end
or:
def show
@template.template_format = 'html'
render :partial => 'item' if request.xhr?
end
Both of these make sense because they kinda explicitly state that they don't
care if the request was "js" format, they will respond in "html" anyway.
So my question is, was this breakage deliberate? Was the way I rendered HTML
partials before wrong?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Core" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-core?hl=en
-~----------~----~----~----~------~----~------~--~---