Tag: activerecord

如何处理Ruby on Rails错误:“请安装postgresql适配器:`gem install activerecord-postgresql-adapter'”

运行使用ActiveRecord框架的Ruby on Rails(RoR)应用程序或Ruby代码时,您会收到错误消息: 请安装postgresql适配器: gem install activerecord-postgresql-adapter 试图运行: gem install activerecord-postgresql-adapter 也失败了,让你无所适从。

UNION查询与codeigniter的活动logging模式

如何使用PHP CodeIgniter框架的活动logging查询格式进行UNION查询?

Rails中列名的别名

在我的数据库中有列名,如“删除”或“监听控制”等。 这些不能改变,所以我想要别名,以避免在我的应用程序中的问题。 我发现下面的代码,但它是过时的(2005年8月5日),并不适用于Rails 3: module Legacy def self.append_features(base) super base.extend(ClassMethods) end module ClassMethods def alias_column(options) options.each do |new_name, old_name| self.send(:define_method, new_name) { self.send(old_name) } self.send(:define_method, "#{new_name}=") { |value| self.send("#{old_name}=", value) } end end end end ActiveRecord::Base.class_eval do include Legacy end 我怎样才能将列名别名? 可能吗?

ActiveRecord Arel OR条件

你怎么能结合2个不同的条件使用逻辑OR而不是AND? 注意: 2个条件是作为rails范围生成的,不能直接更改为where("x or y") 。 简单的例子: admins = User.where(:kind => :admin) authors = User.where(:kind => :author) 应用AND条件很容易(对于这个特殊的情况是毫无意义的): (admins.merge authors).to_sql #=> select … from … where kind = 'admin' AND kind = 'author' 但是,怎样才能生成以下具有2种不同的Arel关系的查询呢? #=> select … from … where kind = 'admin' OR kind = 'author' 看来( 根据Arel自述 ): OR运算符尚不支持 但我希望它不适用于此,并希望写下如下内容: (admins.or authors).to_sql

在Rails 3中设置会话超时

这似乎很简单:我想让我的轨活动logging会话超时2分钟后。 所以两分钟后,我想我的用户不得不重新login。 我只是在我的本地开发机器上运行rails server (即WebBrick)。 我知道这是在config/initalizers/session_store.rb下面的代码,但我不认为我已经完全钉了它: CodedOn::Application.config.session_store :active_record_store CodedOn::Application.configure do config.action_controller.session = {:expire_after => 2.minutes} end 这似乎并没有工作,或至less我的会议似乎没有超时。 我无法find很多关于Rails 3的方法,因为我知道事情已经从Rails 2.x中改变了。 有人可以帮我吗?

Rails 3:获取随机logging

所以,我发现了几个在Rails 2中find随机logging的例子 – 首选的方法似乎是: Thing.find :first, :offset => rand(Thing.count) 作为一个新手的东西,我不知道这是如何使用Rails 3中的新的查找语法来构build的。 那么,什么是“Rails 3 Way”来find随机logging呢?

什么时候应该在Rails中使用“has_many:through”关系?

我想了解什么has_many :through是什么时候使用它(以及如何)。 但是,我没有得到它。 我正在阅读Beginning Rails 3,我尝试了谷歌search,但我无法理解。

ActiveRecord或查询散列符号

我知道有3个主要的符号为ActiveRecord方法提供参数: 纯string 排列 哈希 指定and where方法是直截了当的: # Pure String notation Person.where("name = 'Neil' AND age = 27") # Array notation Person.where(["name = ? AND age = ?", 'Neil', 27]) # Hash notation Person.where({name: "Neil", age: 27}) 指定or相同的方法是为我的哈希语法。 可能吗? # Pure String notation Person.where("name = 'Neil' OR age = 27") # Array notation Person.where(["name = ? […]

Rails模型没有数据库

我想用ActiveRecordvalidation创build一个Rails(2.1和2.2)模型,但没有数据库表。 什么是最广泛使用的方法? 我发现一些声称提供这种function的插件,但是其中许多插件似乎没有被广泛使用或维护。 社区推荐我做什么? 现在我倾向于基于这篇博客文章提出自己的解决scheme。

accepted_nested_attributes_for find_or_create?

我使用Rails的方法accept_nested_attributes_for取得了巨大的成功,但是如果logging已经存在,我怎么能不创build新的logging呢? 举例来说: 假设我有三个模型:团队,会员和玩家,每个团队都有许多玩家通过会员,玩家可以属于很多团队。 团队模型可能会接受玩家的嵌套属性,但这意味着通过组合的团队+玩家forms提交的每个玩家将被创build为新的玩家logging。 如果我只想创build一个新的玩家logging,如果还没有一个同名的玩家,我应该怎么做? 如果有同名球员,则不应创build新的球员logging,而应find正确的球员并将其与新的球队logging相关联。