Re: [問題] 有個地方我不太懂,關於 xhr()/xmlhttp …

看板Ruby作者 (godfat 真常)時間17年前 (2006/12/22 10:50), 編輯推噓4(400)
留言4則, 3人參與, 最新討論串1/1
※ 引述《xamous (一天死去一點)》之銘言: : 看到 functional testing 的地方有點疑問,p.200-201 頁說 xhr/xml_ : http_request 的參數是 xml_http_request(method, action, parameters, : session, flash),第一個參數是指定 :get 或 :post 的方法 : : 但是在 p.207 user_story_test.rb 裡面使用這個 method 卻是用 : xml_http_request "/store/add_to_cart", :id => ruby_book.id : 沒有指定第一個參數 method。我本來以為是直接用預設的參數, : 試著加上 :post,卻會引發錯誤: : : NoMethodError: undefined method `[]' for :get:Symbol : : 看 http://api.rubyonrails.org 裡面 xhr 第一個參數也是 request_method, : 不太明白在這裡用法為什麼不太一樣... @@ 老實講這種時候翻 src 最快… XD 我用 grep 暴力找到了兩個 xml_http_request 的定義 (bbs 寬度太少我隨意重新排版) in /lib/ruby/gems/1.8/gems/actionpack-1.12.5.5618/lib/action_controller/ test_process.rb: module ActionController module TestProcess def xml_http_request(request_method, action, parameters = nil, session = nil, flash = nil) @request.env['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest' @request.env['HTTP_ACCEPT'] = 'text/javascript, text/html, application/xml, text/xml, */*' returning self.send(request_method, action, parameters, session, flash) do @request.env.delete 'HTTP_X_REQUESTED_WITH' @request.env.delete 'HTTP_ACCEPT' end end alias xhr :xml_http_request end end 另一個是 in /lib/ruby/gems/1.8/gems/actionpack-1.12.5.5618/lib/action_controller/ integration.rb: module ActionController module Integration class Session def xml_http_request(path, parameters=nil, headers=nil) headers = (headers || {}).merge( "X-Requested-With" => "XMLHttpRequest", "Accept" => "text/javascript, text/html, application/xml, text/xml, */*" ) post(path, parameters, headers) end end end end 跟 Rails 不熟,就請自己看看哪邊應該用哪個吧 @_@b -- 「行け!Loki!」(rocky ロッキー) -Gurumin ぐるみん 王子? XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.115.73.200

12/22 11:35, , 1F
看來是第二個.... 不過這第二個為什麼api文件找不到呢 @@
12/22 11:35, 1F

12/22 11:38, , 2F
最下面 http://0rz.tw/db2gl 可能只是沒 search 到
12/22 11:38, 2F

12/22 13:13, , 3F
api就有show source可以用了啊~不過grep出來也滿快的XD
12/22 13:13, 3F

12/22 16:18, , 4F
哈 找到了 = = 果然是沒 search 清楚,感謝 :)
12/22 16:18, 4F
文章代碼(AID): #15YqWHYv (Ruby)