草庐IT

es匹配查询

全部标签

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"

ruby-on-rails - ActiveRecord 查询 : where a field is not true

我想查找某个字段不正确的所有记录。用于此的有效AR语法是:Dog.where(:stray=>[false,nil])是否有更简洁的方式来查询“nottrue”?到处都必须迎合这种mysql的细微差别,这真的很糟糕。 最佳答案 命名作用域怎么样?scope:not_stray,where("strayISNULLORstray=false")然后使用:Dog.not_stray 关于ruby-on-rails-ActiveRecord查询:whereafieldisnottrue,我们在

ruby - 在 ruby​​ 正则表达式中匹配换行符 `\n`

我试图理解为什么以下返回false:(**我应该放“输出0”**)puts"a\nb"=~Regexp.new(Regexp.escape("a\nb"),Regexp::MULTILINE|Regexp::EXTENDED)也许有人可以解释。我正在尝试从匹配字符串的多行字符串生成正则表达式。提前致谢 最佳答案 puts将始终返回nil。您的代码应该可以正常工作,尽管很长。=~返回匹配的位置,即0。您还可以使用:"a\nb"=~/a\sb/m或"a\nb"=~/a\nb/m注意:m选项在此示例中不是必需的,但演示了在没有Regexp

ruby - 如何优化 ActiveRecord find_in_batches 查询?

我正在使用Rails4.0.0和Ruby2.0.0。我的Post(如在博客文章中)模型与用户相关联,该用户具有用户的user_name、first_name、last_name的组合。我想迁移数据,以便通过外键(即用户ID)将帖子关联到用户。我在posts表中有大约1100万条记录。我在Linux服务器上使用rake任务运行以下代码来迁移数据。然而,我的任务一直被服务器“杀死”,大概是由于rake任务,特别是下面的代码,消耗了太多内存。我发现将batch_size降低到20并将sleep(10)增加到sleep(60)允许任务运行更长的时间,在不被杀死的情况下总共更新更多的记录,但需要

ruby-on-rails - Rails SSL 问题 : (https://example. com) 与 request.base_url (http ://example. com) 不匹配

我刚刚在我的网站上安装了SSL证书。不幸的是,它破坏了登录功能。在网站上提交登录表单后,它只是重定向到主页。检查Rails日志显示此错误:(https://example.com)didn'tmatchrequest.base_url(http://example.com)这是我的虚拟主机文件。我想我需要以某种方式强制使用SSL?ServerNameexample.comServerAliaswww.example.comRedirectpermanent/https://example.com/ServerAdminhello@example.comServerNameexample

ruby - RethinkDB 单个请求中的多个查询

我正在尝试在对服务器的单个请求中执行多个RQL命令,但我可能会添加但没有成功。我试过r.union,但它只适用于序列。我真正想要的是:[r.db(..).table(..).get(id1).delete(),r.db(..).table(..).get(id2).delete(),r.db(..).table(..).insert(...)].run_all_at_once有什么办法吗?谢谢! 最佳答案 您还可以使用dor.do(r.table('test').insert({value1:"Hey"}),r.table('tes

ruby-on-rails - PostgreSQL 与 Rails ActiveRecord 中的多个匹配相似

我正在尝试使用以下查询从我的数据库中检索多条记录:User.where('nameilike?','%thomas%')这很好用。现在我想同时检索多条记录并尝试了这个(这在语法上似乎是不正确的):User.where('nameilikeany',['%thomas%','%james%','%martin%'])我做错了什么?所以澄清一下:我想检索与其中一个名称匹配的所有记录,所以它是我正在寻找的OR语句。 最佳答案 你可以这样做User.where('nameilikeany(array[?])',['%thomas%','%j

ruby-on-rails - Heroku 上的不兼容编码正则表达式匹配(ASCII-8BIT 正则表达式与 UTF-8 字符串)

我有一个Rails应用程序,我在其中使用基于正则表达式的规则对事务进行分类。在我的seeds.rb中,我创建了一些类别和规则,然后从CSV文件(也是utf8编码)导入交易并允许对它们进行分类。这个过程在我的开发机器上运行良好,但是当我在Heroku上运行它时,我得到:incompatibleencodingregexpmatch(ASCII-8BITregexpwithUTF-8string)我正在运行CedarStack,Rails2.3.15。我放了#encoding:utf-8在我所有源文件的顶部,我在我的应用程序配置中将编码设置为utf-8,所以我不确定还有什么可能导致此问题。

ruby - Mac OS X/iOS 中的正则表达式匹配表情符号

Note:thisquestioncouldlookoddonsystemsnotsupportingtheincludedemoji.这是HowdoIremoveemojifromstring的后续问题.我想构建一个正则表达式来匹配所有可以在MacOSX/iOS中输入的表情符号。明显的Unicodeblock涵盖了大部分,但不是所有这些表情符号:U+1F300..U+1F5FFMiscellaneousSymbolsAndPictographsU+1F600..U+1F64FEmoticonsU+1F650..U+1F67FOrnamentalDingbatsU+1F680..U+1

ruby-on-rails - 如何使用 Rails 在一个查询中执行多个语句?

我将RubyonRails与ActiveRecord和PostgreSQL结合使用。如何执行多个sql查询?我需要它来运行自定义迁移脚本,例如:Foo.connection.execute'20120806120823';SQL我不接受来自用户的数据,所以我不担心sql注入(inject)。类似于CLIENT_MULTI_STATEMENTS也许在MySQL中?来自MySQL/PHP文档:CLIENT_MULTI_STATEMENTS:Telltheserverthattheclientmaysendmultiplestatementsinasinglestring(separated