Tag: activerecord

Rails 3迁移:添加引用列?

如果我创build一个新的轨道3迁移(例如) rails g migration tester title:tester user:references ,一切工作正常…但是,如果我添加一列沿线的东西: rails g migration add_user_to_tester user:references 参考字段不被识别。 简而言之,问题是:如何从命令行添加引用列到rails迁移?

确定ActiveRecord对象是否是新的

我怎样才能检查一个ActiveRecord对象是新的还是已经存在?

Rails:从列中select唯一的值

我已经有一个工作的解决scheme,但我真的想知道为什么这不起作用: ratings = Model.select(:rating).uniq ratings.each { |r| puts r.rating } 它select,但不打印唯一值,它打印所有值,包括重复。 它在文档中: http : //guides.rubyonrails.org/active_record_querying.html#selecting-specific-fields

validation多列的唯一性

是否有轨道的方式来validation实际logging是唯一的,而不只是一列? 例如,一个友谊模型/表格应该不能有多个相同的logging,例如: user_id: 10 | friend_id: 20 user_id: 10 | friend_id: 20

如何返回一个空的ActiveRecord关系?

如果我有一个lambda函数的作用域,并且需要一个参数,取决于参数的值,我可能知道不会有任何匹配,但是我仍然想返回一个关系,而不是一个空的数组: scope :for_users, lambda { |users| users.any? ? where("user_id IN (?)", users.map(&:id).join(',')) : [] } 我真正想要的是一个“无”方法,与“全部”相反,它返回一个仍然可以链接的关系,但导致查询被短路。

做铁轨耙任务提供访问ActiveRecord模型?

我试图创build一个自定义耙任务,但似乎我没有访问我的模型。 我认为这是隐式地包含在rails任务中的东西。 我在lib / tasks / test.rake中有以下代码: namespace :test do task :new_task do puts Parent.all.inspect end end 这里是我的父母模型的样子: class Parent < ActiveRecord::Base has_many :children end 这是一个非常简单的例子,但我得到以下错误: /> rake test:new_task (in /Users/arash/Documents/dev/soft_deletes) rake aborted! uninitialized constant Parent (See full trace by running task with –trace) 有任何想法吗? 谢谢

什么导致此ActiveRecord :: ReadOnlyRecord错误?

这跟在这个先前的问题,这是回答。 我实际上发现我可以从该查询中删除一个连接,所以现在工作查询是 start_cards = DeckCard.find :all, :joins => [:card], :conditions => ["deck_cards.deck_id = ? and cards.start_card = ?", @game.deck.id, true] 这似乎工作。 但是,当我尝试将这些DeckCards移动到另一个关联中时,出现ActiveRecord :: ReadOnlyRecord错误。 这是代码 for player in @game.players player.tableau = Tableau.new start_card = start_cards.pop start_card.draw_pile = false player.tableau.deck_cards << start_card # the error occurs on this line end 和相关的模型(桌子上的玩家卡) class Player < ActiveRecord::Base belongs_to […]

你如何删除一个ActiveRecord对象?

你如何删除一个ActiveRecord对象? 我看了Active Record查询 ,并没有任何删除,我可以看到。 按id删除, 删除当前对象,如: user.remove , 你可以根据where子句删除吗?

rails生成模型字段:type,字段有什么选项:type?

我知道这是一个愚蠢的问题,但很多关于学习Rails我发现文档难以置信地难以find/导航。 我试图生成一个新的模型,忘记了引用另一个模型的ID的语法。 我会自己查看,但还没有弄清楚,在我所有的rails文档链接中,如何find最终的来源。 $ rails g model Item name:string description:text (在这里或者reference:product或references:product )。 但是更好的问题是我将来在哪里或者怎样可以容易地看到这种愚蠢的行为,所以我不需要用愚蠢的问题来困扰你们。 注意:如果我错误地input这些选项之一并运行我的迁移,那么Rails将会完全搞砸我的数据库…并且使用rake db:rollback是无能为力的。 我敢肯定,我只是不理解的东西,但直到我做… rails g model返回的“详细”的信息仍然留下我抓…

你如何编写一个迁移来重命名Rails中的ActiveRecord模型及其表格?

我在命名上很糟糕,并意识到在我的Rails应用程序中,我的模型有更好的名称。 有没有办法使用迁移来重命名模型及其相应的表?