草庐IT

IP归属地查询

全部标签

ruby - 在 Ruby 中使用单引号和双引号查询哈希有什么区别?

{"user"=>{"bio"=>"rubyist","created_at"=>"2011-05-03T15:21:46+02:00","email"=>"paul@pauldix.net","id"=>61,"name"=>"paul","updated_at"=>"2011-05-03T15:21:46+02:00"}}使用双引号和单引号有什么区别?:attributes=JSON.parse(last_response.body)["user"]attributes=JSON.parse(last_response.body)['user']第一种情况好像可以,但是第二种情况没

ruby-on-rails - Ruby/Rails 中 CIDR 的 IP 范围?

我想做两件事:将IP地址输入转换为CIDR以下是一些示例输入:1.1.1.1192.168.*.*#=>192.168.0-255.0-255192.168.1.2-201.1.1-10.1-100检查给定的IP地址是否属于任何CIDR。这一定是一个非常快速的查询,因为它是我的网络应用程序中非常常见的查找。我正在考虑做这样的事情:defmatches?(request)valid=@ips.select{|cidr|cidr.contains?(request.remote_ip)}!valid.empty?end我认为将IP范围转换为CIDR将使查找速度比我们现在所做的更快,后者将I

ruby-on-rails - Rails 将 DateTime 转换为 'where' 查询中的日期

我需要查询数据库并按开始日期过滤事件,但列类型是DateTime。我在模型中做了范围:scope:day,->(start_date){wherestart_date:start_date}对于相同的DateTime值,它工作正常,但我需要一个过滤器来仅按日期而不是DateTime获取Event。我有PG数据库并尝试:scope:day,->(start_date){where("start_date:date=?","#{start_date.to_date}")}但是我得到一个错误 最佳答案 你可以这样做:使用SQL日期函数(取

ruby - 如何在 ruby​​ 中获取 ip 地址、referer 和用户代理?

我想记录用户的ip地址、referer和用户代理。在PHP中,我可以从以下变量中获取它们:$_SERVER['REMOTE_ADDR']$_SERVER['HTTP_REFERER']$_SERVER['HTTP_USER_AGENT']如何在ruby​​中获取它们? 最佳答案 PHP嵌入在网络服务器中。Ruby是一种通用语言:如果您需要Web服务器上下文,则必须自己安装。幸运的是,这很容易。最简单的入门方法之一是使用Sinatra。安装gem:geminstallsinatra然后创建myapp.rb:require'sinatr

ruby - 我如何以编程方式查询 Vagrant 的配置状态?

目标我正在尝试有条件地运行vagrant-berkshelf插入。默认情况下,启用该插件会导致Berkshelf在每个vagrantup(这是一个相对昂贵的操作)上解析和供应商说明书,即使当前的vagrant操作不是配置运行。例如,我希望Berkshelf在我运行时运行:vagrantup第一次,或者当我执行vagrantreload--provision时。Thesourceimplies应该有一种方法可以查询Vagrant本身以确定它是否是配置运行。具体来说,应该有一种方法可以挂接到@env[:provision_enabled]或vagrant.actions.vm.provis

ruby-on-rails - 我应该将我的数据库查询测试放在 Rails 中的什么位置?

我来自Spring/hibernate背景。我注意到Rails没有dao和服务层。这确实加快了开发速度,但有时我不知道将测试放在哪里。现在,我一直在将我的模型方法和验证测试放在主要模型规范中。这个文件已经相当大了。测试查询的“标准”位置在哪里?我可以想象自己制作了大量固定装置/虚拟数据以确保我的查询按预期工作(可能是一个更好的主意,因为我是Rails的新手)。这些对于基本模型逻辑和验证测试来说并不是真正需要的。如果您能提供一些关于将这些测试放在哪里的建议,使用rails测试查询的最佳方法(尤其是具有多个连接的查询!),也许还有一些基本准则,说明它与使用DBunit/spring进行测试

ruby-on-rails - 如何获取 ActiveRecord 在 Ruby on Rails 中执行的最后一个 SQL 查询?

我正在寻找类似CodeIgniter的东西:$this->db->last_query();(http://codeigniter.com/user_guide/database/helpers.html) 最佳答案 据我所知,访问查询列表并不容易。尽管如此,您还是可以轻松访问它们,创建一个super简单的记录器。如果您打开ActiveRecord::ConnectionAdapters::AbstractAdapter类,您将看到一个名为log的方法。在每个查询上调用此方法以记录语句。默认情况下,它使用Rails记录器记录所有语句

ruby-on-rails - 如何在 Rails 3 事件记录中链接查询

我需要根据参数数据添加条件。@users=User.where('id',params[:id])unlessparams[:id].nil?@users=User.where('email',params[:email])unlessparams[:email].nil?@users=User.limit(10)但由于某些原因它不起作用。谢谢 最佳答案 您的每个语句都替换了@users变量,并且当ActiveRecord延迟计算每个语句时,永远不会调用前两个。如果您想维护三个独立的查询并以这种方式构建事物,您可以这样做:@user

ruby-on-rails - 如何使用 Ruby/Tor 更改我的 IP 地址?

我正在使用Rails4.2.7,并且安装了几个Torgem。gem'tor'gem'tor_requests'gem'tor-privoxy'gem'net-telnet'我启动了我的Tor浏览器(在MacElCapitan上运行),我想定期(每20个请求)更改我的TORWeb请求的来源IP地址。所以我试了一下agent=TorPrivoxy::Agent.new'127.0.0.1','',{8118=>9151}do|agent|sleep1puts"NewIPis#{agent.ip}"end但是,这会导致以下错误。我很困惑我还需要如何配置才能完成上述工作。Errorduring

ruby-on-rails - 如何从查询字符串中删除空值参数

我有一个搜索表单,有很多选项,提交到带有Get请求的路由。网址是这样的:http://localhost:3000/restaurants/search?utf8=%E2%9C%93&city=&cuisine=&number_of_people=&query=hello有更多的参数。我想让它更干净一些,比如删除所有空白的参数。像这样:(基本上删除所有空白的参数)http://localhost:3000/restaurants/search?query=hello如何做到这一点?一种方法是使用CGI::parse("foo=bar&bar=foo&hello=hi")给你{"foo"