root_url http://192.168.1.110:3000/users/sign_up?inviter=14658733081530 root_path /users/sign_up?inviter=14658733081530 :class => (action_name == "" ? "a" : nil) request.path => ***_path Request 資訊收集 在 Controller 的 Action 之中,Rails 提供了一些方法可以讓你得知此 request 各種資訊,包括: ? action_name 目前的 Action 名稱 ? cookies Cookie 下述 ? headers HTTP 標頭 ? params 包含用戶所有傳進來的參數 Hash,這是最常使用的資 訊? ? request 各種關於此 request 的詳細資訊 ? request_method method delete?, get?, head?, post?, put? ? xml_http_request? 或 xhr? ? url ? protocol, host, port, path 和 query_string ? domain host_with_port port_string ssl? remote_ip? path_without_extension, path_without_format_and_extension, format_and_extension, relative_path env accepts format mime_type content_type headers body content_length response 代表要回傳的內容,會由 Rails 設定好。通常你會用 到的時機是你想加特別的 Response Header。 ? session Session 下述 正確的說, params 這個 Hash 是 ActiveSupport::HashWithIndifferentAccess 物件,而不是普通的 Hash 而已。Ruby 內建的 Hash,用 Symbol 的 hash[:foo]和用字 串的 hash["foo"]是不一樣的,這在混用的時候常常搞錯而取不到值,算是常見的臭 蟲來源。Rails 在這裡使用的 ActiveSupport::HashWithIndifferentAccess 物 件,無論鍵是 Symbol 或字串,都指涉相同的值,減少麻煩。
时间: 2024-10-07 08:04:33