Article View: pl.comp.lang.ruby
Article #1265Re: Opera + respond_to + ROR
From: Jarosław Zabiełło
Date: Tue, 02 Jun 2009 19:09
Date: Tue, 02 Jun 2009 19:09
50 lines
2815 bytes
2815 bytes
Dnia 02-06-2009 o 19:07:55 Zbyszek Malec <zbyszekto@tlen.pl> napisał(a):
ROR 2.2.2
JRuby 1.1.4
RESTFulAuthentication
w RESTFulAuthentication jest metoda:
def access_denied
respond_to do |format|
format.html do
store_location
redirect_to new_<%= controller_singular_name %>_path
end
format.any do
request_http_basic_authentication 'Web Password'
end
end
end
czyli jak przeglądarka wysłała, że reaguje na html, to powinno nastąpić
przekierowanie, w przeciwnym przypadku, powinno odbyć się HTTP Basic Auth.
Opera wysyła taki HTTP_ACCEPT:
application/xhtml+voice+xml;version=1.2,
application/x-xhtml+voice+xml;version=1.2, text/html,
application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg,
image/gif, image/x-xbitmap, */*;q=0.1
czyli text/html jest obecne jako pierwsze,
Niekoniecznie. Zobacz co się kryje pod zmienną format. Sprawdź czy zadziała ci dla format.xml. Założe się, że to RoR rozpoznaje jako XML, a nie HTML. W RoR 2.2 w pliku ...gems/actionpack-2.2.2/lib/action_controller/mime_types.rb masz wszystkie deficje MIME jakie są rozpoznawane przez ActionPack. I tam nie ma żadnego application/xhtml+voice+xml.
Mime::Type.register "*/*", :all
..
Mime::Type.register "text/html", :html, %w( application/xhtml+xml ), %w( xhtml )
...
Mime::Type.register "application/xml", :xml, %w( text/xml application/x-xml )
Jeśli tu jest problem to rozwiązana są dwa. Albo obsługujesz to przez format.xml zamiast format.html albo (lepiej) dodaj do Mime::Type.register "operowy" MIME.
Sprawa jest w sumie śliska, bo XHTML to aplikacja XML tak naprawdę. Czyli poprawne jest parsowanie XHTML jako HTML jak i jako XML.
Acha, znalazłem info na http://www.iana.org/assignments/media-types/application/, że xhtml-voice+xml to format przestarzały i nieaktualny.
--
Jarosław Zabiełło
http://blog.zabiello.com
Technical Details
Message-ID:
<op.uuwvhawdk434cn@zbiru-at-home-5.local>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mailReferences:
<12a2gaz88lk5a.ruqo5f6ex5ff.dlg@40tude.net>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail From: Jarosław Zabiełło <hipertr@gazeta.pl> Newsgroups: pl.comp.lang.ruby Subject: Re: Opera + respond_to + ROR Date: Tue, 02 Jun 2009 20:09:00 +0100 Organization: http://zabiełło.pl Lines: 50 Message-ID: <op.uuwvhawdk434cn@zbiru-at-home-5.local> References: <12a2gaz88lk5a.ruqo5f6ex5ff.dlg@40tude.net> NNTP-Posting-Host: 92.251.214.233 Mime-Version: 1.0 X-Trace: inews.gazeta.pl 1243969743 10413 92.251.214.233 (2 Jun 2009 19:09:03 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Tue, 2 Jun 2009 19:09:03 +0000 (UTC) To: "Zbyszek Malec" <zbyszekto@tlen.pl> X-User: hipertr User-Agent: Opera Mail/10.00 (MacIntel) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit