我正在使用 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_requestservlet_response 可能可用)也是,但我不确定它们)。

如果不是这种情况,您也可以尝试查询 CGI 参数 ENV["QUERY_STRING"] 并解析它,但这应该只是最后的手段(并且它可能只适用于 CGI 文件)。

关于ruby - 如何访问由 webrick 提供的 .rhtml 页面的 html 请求参数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2752906/

10-16 17:55