3 ÆüË·¼çÆüµ
2007-02-09 [ĹǯÆüµ]
_ [Rails] ¥³¥ó¥È¥í¡¼¥é¤´¤È¤Ë TransSid
¤½¤ì¤Ï default_url_options ¤ò»È¤¨¤Ð¤¤¤¤¤È»×¤¦¡£ ¤¦¤Á¤Î lib/trans_sid.rb ¤Ï¤³¤¦¤Ê¤Ã¤Æ¤Þ¤¹¡£
#
# Usage:
# class FooController
# include TransSid
#
# Ruby's License
# moriq <moriq@moriq.com>
#
module TransSid
def self.included(controller)
controller.after_filter(:append_session_id_parameter)
end
protected
def default_url_options(options)
return unless request # for test process
session_key = request.session_options[:session_key] || '_session_id'
{ session_key => session.session_id }
end
private
def append_session_id_parameter
session_key = request.session_options[:session_key] || '_session_id'
response.body.gsub!(%r{(</form>)}i, "<input type='hidden' name='#{CGI::escapeHTML session_key}' value='#{CGI::escapeHTML session.session_id}'>\\1")
end
end
»²¹Í:
[¥Ä¥Ã¥³¥ß¤òÆþ¤ì¤ë]
[]