草庐IT

mongodb - 当前字段的聚合条件计数

全部标签

css - 从 ruby​​ Controller 有条件地设置 CSS 样式

我正在尝试动态更改(如果它被点击)一个普通的表头(这是一个链接)到另一个定义的CSS类“th.hilite”。此链接只是对该列进行排序,每次用户对列表进行排序时,标题都应该突出显示。应该更改相关类的View,如下所示:%table#mytable%thead%tr%th=link_to'Title',mytable_path(:sort=>'title'),:id=>'title_header'我的问题很简单:如果单击标题,我如何以及在何处将类动态设置为%th.hilite? 最佳答案 您可以直接从View绑定(bind)它:%th

ruby-on-rails - 在事件记录中使用 arel 的关系计数

我真的很难弄清楚如何在事件记录的arel中执行此查询和其他类似查询。selectusers.id,users.name,maps.countasmap_count,fromusersleftjoin(selectuser_id,count(map_id)ascountfrommaps_usersgroupbyuser_id)mapsonusers.id=maps.user_id从表面上看,它看起来就像Nik在此处的示例(http://magicscalingsprinkles.wordpress.com/2010/01/28/why-i-wrote-arel/):photo_count

ruby-on-rails - 在 Rails 表单中初始化嵌套字段的正确方法

我想了解什么是初始化模型嵌套字段的“正确”方法。假设您有一些模型的嵌套字段:classUserhas_one:addressaccepts_nested_attributes_for:addressend并且您需要初始化这些属性(在本例中为address)以在fields_for调用中使用它们。到目前为止,我已经想到了三种方法。首先,after_initializeHook模型:classUserafter_initialize:init_addressprotecteddefinit_addressaddress||=build_addressend然后我们在Controller中进

ruby-on-rails - 给定记录和顺序条件,查找之后或之前的记录

例如,您有一个按优先级排序的项目列表。您有10,000件商品!如果您向用户显示单个项目,您如何为用户提供按钮以查看上一个项目或下一个项目(这些项目是什么)?您可以将项目的位置传递到项目页面并在SQL查询中使用OFFSET。这样做的缺点是,除了必须传递一个可能会改变的数字之外,数据库无法跳转到偏移量;它必须读取每条记录,直到到达第9001条记录。这很慢。寻找解决方案后,我找不到,所以我写了order_query.order_query使用相同的ORDERBY查询,但还包括一个WHERE子句,该子句排除当前记录之前(对于下一个)或之后(对于上一个)的记录。下面是标准的示例(使用上面的gem

ruby - 条件 gem 依赖项

是否可以在安装时有条件地设置对gem的依赖?这是我的情况,希望能澄清这个问题。我维护的一个gem依赖于jsongem。但是,我经常使用jruby,它有一个名为json-jruby的jsongem端口。要解决这个问题,我必须为每个依赖项构建两个单独的gem。我想构建一个gem,要么说它依赖于json或json-jruby,要么在安装时检查并使用正确的依赖项。有人对此有好的解决方案吗? 最佳答案 嗯,我相信一个人可以编写多个依赖项,因为我注意到gems似乎可以做到这一点。但我建议你不要这样做。无论您在此处插入的代码多么简单,当您考虑到用

ruby-on-rails - 如何使用数据库表中的动态表单字段创建 Rails form_for?

如果有人在某处完整地询问和回答了这个问题,我深表歉意。不确定我是否正在使用正确的Rails搜索这个问题。我想根据存储在数据库中的字段创建一个Rails表单。这是我的模型到目前为止的样子。classField到目前为止,字段模型非常简单,只有type:string和required:boolean列。名称是我要创建的控件的名称(文本框、复选框、单选按钮)。理想情况下,我想做这样的事情:我正在努力寻找一种方法来将行替换为可以正确呈现field.type的标记。这可能吗?在将字段类型和值存储为json/xml的字段模型中使用有效负载列会更好吗? 最佳答案

ruby - 是否可以在有条件的情况下使用救援?

考虑一个Rack应用程序。如果我们没有运行测试,我只想处理错误:begindo_somethingifENV['RACK_ENV']!='test'rescue=>errorhandle_errorerrorendendend这会生成语法错误,意外的keyword_rescue(SyntaxError)救援=>错误有办法吗? 最佳答案 你能做这样的事情吗?begindo_somethingrescue=>errorifENV["RACK_ENV"]=="test"raiseerrorelsehandle_errorerrorende

ruby - 使用接受参数作为先决条件的 rake 任务

根据http://rake.rubyforge.org/files/doc/rakefile_rdoc.html,您可以创建一个接受参数并且也有先决条件的任务:task:name,[:first_name,:last_name]=>[:pre_name]do|t,args|但是如果:pre_name是一个也接受参数的任务呢?将参数传递给:pre_name作为先决条件时的语法是什么? 最佳答案 它实际上非常简单-:pre任务将接收与原始任务相同的参数。您需要做的就是确保签名相似-例如,如果第一个任务接收到:a,:b,则:pre任务也需

ruby-on-rails - 仅当可搜索字段发生变化时才使用太阳黑子索引

我们在最新项目中使用sunspot进行搜索。我们还使用devise并按如下方式为我们的用户模型编制索引:searchabledotext:fnametext:lnametext:emailtext:descriptiontext:twitter_usernameend使用此设置,除非solr正在运行,否则用户甚至无法登录。这意味着在每次保存用户模型时,都会与我们的solr服务器进行一些通信(重建索引?),即使可搜索字段都没有更改。这是正确的吗?我们还有许多其他模型正在被sunspot索引,这些模型具有经常更新的不可搜索字段。似乎sunspot正在为所有这些更新重新编制索引。有没有办法将

ruby - 使用 RVM,但无法设置当前的 Ruby 版本 (Ubuntu 11.10)

我最近在全新安装的Ubuntu11.10上安装了RVM,但不知道如何开始使用特定的ruby​​版本。我已经安装了Ruby1.8.7和1.9.2,它们在列表中显示得很好:$rvmlistrvmrubiesruby-1.8.7-p352[i386]ruby-1.9.2-p290[i386]当我尝试使用“use”命令时,一切似乎都很好:$rvmuse1.9.2Using/usr/share/ruby-rvm/gems/ruby-1.9.2-p290Running/usr/share/ruby-rvm/hooks/after_use但是当我测试当前的ruby​​版本时,我得到了当你根本没有RV