Questions tagged «rails-activerecord»

在Ruby on Rails框架中使用Active Record模式实现对象关系映射(ORM)。


3
通过Rails了解has_one / has_many的:source选项
请帮助我了解关联的:source选项has_one/has_many :through。Rails API的解释对我来说意义不大。 “指定源使用的源关联名称has_many :through => :queries。仅当无法从关联中推断出该名称时,才使用它。除非指定a,否则has_many :subscribers, :through => :subscriptions它将查找:subscribers或:subscriberon 。”Subscription:source


8
合并两个ActiveRecord :: Relation对象
假设我有以下两个对象: first_name_relation = User.where(:first_name => 'Tobias') # ActiveRecord::Relation last_name_relation = User.where(:last_name => 'Fünke') # ActiveRecord::Relation 是否可以将两种关系结合在一起以产生一个ActiveRecord::Relation包含两个条件的对象? 注意:我知道我可以链接到哪里来获得这种行为,我真正感兴趣的是有两个单独的ActiveRecord::Relation对象的情况。

5
检查Rails中是否存在表
我有一个rake任务,除非存在一个表,否则该任务将无法工作。我正在与一个网站上的20多位工程师合作,因此我想确保他们已经迁移了表,然后他们才能执行瑞克任务,该任务将填充相应的表。 AR是否有诸如此类的方法Table.exists?如何确保他们已成功迁移表?


11
Rails ActiveRecord日期之间
我需要查询一天内发表的评论。该字段是标准时间戳记的一部分created_at。所选日期来自date_select。 我ActiveRecord该怎么做呢? 我需要类似的东西: "SELECT * FROM comments WHERE created_at BETWEEN '2010-02-03 00:00:00' AND '2010-02-03 23:59:59'"

3
Rails-活动记录中的嵌套包含?
我有我要获取的事件列表。我试图包括与此事件关联的每个用户以及与每个用户关联的每个配置文件。包括用户,但不包括他们的个人资料。 我该怎么做 Event.includes(:users [{profile:}]) 该文档似乎不清楚:http : //guides.rubyonrails.org/active_record_querying.html



25
ActiveRecord中的随机记录
我需要通过ActiveRecord从表中获取随机记录。我遵循了2006年Jamis Buck的例子。 但是,我也通过Google搜索遇到了另一种方式(由于新用户的限制,无法通过链接添加属性): rand_id = rand(Model.count) rand_record = Model.first(:conditions => ["id >= ?", rand_id]) 我很好奇这里的其他人是如何做到的,或者是否有人知道哪种方法会更有效。

6
带有lambda和Rails 4风格的参数的范围?
我想知道在Rails 4中如何完成以下操作,或者我是否只是使用Rails 3方法来使用可以传递参数的lambda,而lambda可以像4一样传递参数,就像3一样。 我是Rails 3的新手,正在尝试研究一些运行Rails 4的示例。 这是我的Rails 3代码: class Person < ActiveRecord::Base scope :find_lazy, lambda {|id| where(:id => id)} end # In console I can call Person.find_lazy(1) 因此,如果这是Rails 4的使用-> {}的方法,那就是lambda,对不对?scope :all_lazy, -> { select("*") }如果我需要吵架怎么办。我尝试了几种不同的想法,并在使用-> {}时在控制台中出现了参数错误。

26
如何避免运行ActiveRecord回调?
我有一些具有after_save回调的模型。通常这很好,但是在某些情况下,例如在创建开发数据时,我想保存模型而不运行回调。有没有简单的方法可以做到这一点?类似于... Person#save( :run_callbacks => false ) 要么 Person#save_without_callbacks 我查看了Rails文档,没有找到任何东西。但是,以我的经验,Rails文档并不总是能讲述整个故事。 更新 我找到了一篇博客文章,其中解释了如何从这样的模型中删除回调: Foo.after_save.clear 我找不到该方法的文档记录,但似乎可行。

10
如何更改Rails中Active Record的默认时区?
在我application.rb身上,我遇到了以下评论 # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. config.time_zone = 'Eastern Time (US & Canada)' 从上面您可以看到,我已经config.time_zone达到了EST时间。但是,仍然在数据库中创建记录时,看起来好像datetime是以UTC格式存储的。 在上面的评论中,他们说 ...并使Active Record自动转换为该区域... 我该怎么办?在哪里? 另外,我也会在heroku上部署它,我希望设置可以继续使用


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.