我正在使用 webrick(内置的 ruby 网络服务器)来提供 .rhtml
文件(嵌入 ruby 代码的 html --like jsp)。
它工作正常,但我不知道如何访问参数
(例如 http://localhost/mypage.rhtml?foo=bar )
从 .rhtml 文件中的 ruby 代码中。
(请注意,我没有使用 rails 框架,只使用 webrick + .rhtml 文件)
谢谢
最佳答案
根据 erbhandler 的源代码,它以这种方式运行 rhtml 文件:
Module.new.module_eval{
meta_vars = servlet_request.meta_vars
query = servlet_request.query
erb.result(binding)
}
所以绑定(bind)应该包含一个
query
(它包含查询字符串的哈希值)和一个 meta_vars
变量(它包含环境的哈希值,如 SERVER_NAME
),您可以在 rhtml 文件中访问它们(并且 servlet_request
和 servlet_response
可能可用)也是,但我不确定它们)。如果不是这种情况,您也可以尝试查询 CGI 参数
ENV["QUERY_STRING"]
并解析它,但这应该只是最后的手段(并且它可能只适用于 CGI 文件)。关于ruby - 如何访问由 webrick 提供的 .rhtml 页面的 html 请求参数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2752906/