Ruby on rails Ruby-从gem内部获取客户端IP地址
我正在尝试创建一个gem,我想在它里面有一个特性,在使用它时,它会获取客户机的ip地址。基本上,它与rails一样,但在gem中,我不想依赖rails 纯粹使用Ruby有没有办法做到这一点 我已经找到了,但是当部署到生产服务器时,它只获得服务器ip地址,而不是客户机ip地址 任何帮助都将不胜感激Ruby on rails Ruby-从gem内部获取客户端IP地址,ruby-on-rails,rubygems,client,dependencies,ip-address,Ruby On Rails,Rubygems,Client,Dependencies,Ip Address,我正在尝试创建一个gem,我想在它里面有一个特性,在使用它时,它会获取客户机的ip地址。基本上,它与rails一样,但在gem中,我不想依赖rails 纯粹使用Ruby有没有办法做到这一点 我已经找到了,但是当部署到生产服务器时,它只获得服务器ip地址,而不是客户机ip地址 任何帮助都将不胜感激 非常感谢这是因为Ruby:)如果你正在开发一个web应用,你应该使用rack!它非常酷且简单,否则您将不得不处理“网络”模块。我自己也有同样的问题,并一直跟踪到机架级别。我从未找到任何访问当前请求对象的
非常感谢这是因为Ruby:)如果你正在开发一个web应用,你应该使用rack!它非常酷且简单,否则您将不得不处理“网络”模块。我自己也有同样的问题,并一直跟踪到机架级别。我从未找到任何访问当前请求对象的方法。它似乎与ApplicationController绑定在一起,似乎没有任何方法可以从gem/插件范围访问它。似乎唯一的解决方案是让IP从控制器传入对gem的调用。答案是正确的,Rails应用程序中包含的任意gem没有任何路径“向上”到具有客户端请求上下文的对象。如果您的gem需要这些数据来实现其预期目的,则必须更改API,以要求将信息“向下”传递到gem中。这可以是显式的(作为IP地址/字符串)或隐式的(作为对可以从中获取请求数据的对象的引用)