Tag: 条件

Rails关联:如何限制/范围has_many:通过多个自引用条件?

最好的方法是什么? 我正在尝试这样的事情,但感觉……错了。 (注意:所有关于:has_many关联中的条件……) class Submission :checklist, :source => :job, :conditions => [“jobs.archived = false OR jobs.archived_at > #{self.created_at} OR jobs.created_at < #{self.created_at}"] end Rails 3.2.11,Ruby 1.9.3 我想做什么 我需要在has_many上传递多个条件:通过关联并引用“自我”模型来在这些条件下进行比较。 我找到了多个条件的例子。 我找到了自我参照比较的例子。 但我找不到这两个元素的任何东西。 这让我觉得我做错了。 背景和定义 提交在某个时间点记录清单及其关联作业的快照。 因此,我希望能够说“submission.jobs”并查看在提交本身创建时与提交的核对表关联的作业。* *它实际上稍微复杂一点:我想要在创建提交时存在的作业以及当时尚未存档的作业。 清单是动态的,可以随时间变化,但我总是通过自行建立的归档系统保持历史记录的完整性,因此当为该清单创建提交时,清单上的作业将是Checklist的Job,其中Job.created_at之前是Submission.created_at(尚未存档)。 因此,虽然提交属于清单,而清单属于清单,但是对于特定提交而言,唯一重要的工作是在创建提交时存在(并且尚未存档)的作业。

使用OR和AND搜索多个列以应用filter

我正在开发一款应用。 我试图植入一个搜索系统。 方法很简单。 在家里,我在3栏“name”或“nomdep”或“nomregion”上搜索查询。 在此之后,我想用AND运算符用params过滤。 如果我只使用一列植入搜索,例如“NAME”,那么我可以应用filter。 但如果我想用多个OR植入这个,我不能应用filter。 我认为OR运算符是问题所在。 但我肯定不知道要解决这个问题…… 你能帮助我吗 ? 谢谢 camping.rb has_many :caracteristiquetests, :foreign_key => :camping_id has_many :situations, :foreign_key => :camping_id def self.searchi(query, handicap, animaux, television, plage, etang, lac) return scoped unless query.present? left_outer_joins(:caracteristiquetests, :situations).where([‘nomdep LIKE ? OR name LIKE ? OR nomregion LIKE ? AND handicap LIKE ? AND animaux LIKE ? […]

Rails ActiveRecord:是否可以组合:include和:conditions查询?

想象一下,我有维基文章,有许多修订。 我想通过数据库对ActiveRecord进行查询,该数据库仅返回那些具有在过去24小时内更新的修订的文章。 这样的事情可能吗? 我想它会是这样的: Articles.find_all(:include => :revisions, :conditions => {:revision[updated_at] => 1.week.ago..Time.now.utc}) 如果这是不可能的,是否有某种类型的原始SQL我可以传递给find_by_SQL,这样做的诀窍呢?

Rails中的多个查询条件 – 如果存在的话。

我在这里搜索时发现了一些类似的问题,但是当我试图添加除非我找到的解决方案时,事情开始破裂…… 这就是我的工作: 控制器: @metrics = Metric.where(“current_ratio > ?”, @screen.current_ratio_min) unless @screen.current_ratio_min.nil? 一旦我添加另一个.where行(我需要添加很多), @metrics = Metric.where(“current_ratio > ?”, @screen.current_ratio_min) unless @screen.current_ratio_min.nil? .where(“current_ratio < ?", @screen.current_ratio_max) unless @screen.current_ratio_max.nil? 我收到一个错误: undefined method `where’ for false:FalseClass 我假设这是因为第一个除非结束我的查询。 除非仅针对每个条件,我如何申请? 如果是这样,其实就是问题: 提前致谢!

Rails日期与Date.today相比

我有一个Date格式的birth_date变量。 我想将它与Date.today进行比较,如下所示。 问题是它回来是假的,因为它想要比较年份。 这是一个生日,所以我不关心今年只是想看看birth_date(月和日)是否等于Date.today.day.month。 有任何想法吗? bdays = Soldier.find(:all, :conditions => [“birth_date LIKE ?”, Date.today] )

将查找条件添加到Rails中的所有活动记录模型

反正有没有为所有Active记录模型添加查找条件? 这是我想要这个查询 ExampleModel.find :all, :conditions=> [“status = ?”, “active”] 表现得和…一样 ExampleModel.find :all 在每个模型中 谢谢!!

Rails ActiveRecord条件

有没有办法创造这样的条件? @products = Product.find(:all, :limit => 5, :conditions => { :products => { :locale => ‘en’, :id NOT ‘1’ }, :tags => { :name => [‘a’,’b’]}) 我想列出所有产品,不包括产品1. Thx。

Rails虚拟属性搜索或sql组合列搜索

我有一个属性’first’和’last’的用户模型所以例如User.first.first#=>“Charlie”User.first.last#=>“Brown” 此用户模型还具有虚拟属性“full_name” #user.rb def full_name [first,last].join(‘ ‘) end def full_name=(name) #don’t know what to do with people w/ middle names split = name.split(‘ ‘) self.first = split[0] self.last = split[1] end 例如: User.first.full_name = “Charlie Brown” #=> “Charlie Brown” User.first.full_name = “Homer Simpson” #=> “Home Simpson” User.first.save User.first.first #=> “Homer” User.first.last #=> “Simpson” 如果我可以通过该虚拟属性进行搜索,例如动态查找,那就太好了: User.find_by_full_name(‘Home […]

如何制作在条件表达式中评估为false的Ruby变量

我想在条件句中使用我的变量(代理对象)评估为false。 我知道我可以使用.nil? 甚至var == nil,但我认为这还不够好。 我正在尝试做的是: if myproxy # not only myprroxy.nil? or myproxy == nil, but just that # myproxy’s backend object is not nil else # myproxy’s backend object is nil end 有任何想法吗?

如何在记录更新期间从validation中排除密码字段? (Rails 3.0.4,Ruby 1.9.2)

我有一个允许更新用户记录的表单。 它包含以下字段:password和:password_confirmation但如果加密密码已存储在数据库中,我不希望在它们上运行validation。 视图文件中的字段: ‘Confirm Password’ %> 在搜索互联网时,我发现了一些代码,我假设它是以前版本的Ruby / Rails。 (我会在我的用户模型中放置。) validates_presence_of :password, :on => create 由于我的用户模型中的密码validation语法不同(下面),我对我需要的语法感到困惑。 validates :password, :presence => true, :confirmation => true 我搜索了其他post,肯定可以使用一些方向。 – 免责声明 – 我确实看到有关于条件validation的屏幕演员,但我现在无法观看。 谢谢,所有。 编辑 – 插入以下代码,它允许用户记录更新,而不会抱怨缺少密码字段。 validates :password, :presence => true, :confirmation => true, :on => :create