Ruby on rails `.joins`not working for在PostgreSQL上的Rails 3.2中有很多

Ruby on rails `.joins`not working for在PostgreSQL上的Rails 3.2中有很多,ruby-on-rails,ruby-on-rails-3,activerecord,ruby-on-rails-3.2,Ruby On Rails,Ruby On Rails 3,Activerecord,Ruby On Rails 3.2,我正在将一个遗留项目升级到Rails 3.2.1,但是我在使用新的ActiveRecord查询接口时遇到了问题,特别是在使用新的join方法时 我有一个用户模型,拥有许多播客 class User < ActiveRecord::Base has_many :podcasts end class Podcast < ActiveRecord::Base belongs_to :user end 奇怪的是,如果我将关系更改为ahas\u one,这一切都会起作用 我的sch

我正在将一个遗留项目升级到Rails 3.2.1,但是我在使用新的ActiveRecord查询接口时遇到了问题,特别是在使用新的
join
方法时

我有一个
用户
模型,拥有许多
播客

class User < ActiveRecord::Base
  has_many :podcasts
end

class Podcast < ActiveRecord::Base
  belongs_to :user
end
奇怪的是,如果我将关系更改为a
has\u one
,这一切都会起作用

我的
schema.rb的相关部分

create_table "podcasts", :force => true do |t| 
  t.string   "name",         :default => "",   :null => false
  t.string   "url",          :default => "",   :null => false
  t.text     "description"
  t.datetime "last_updated"
  t.boolean  "active",       :default => true
  t.integer  "user_id"
end 
底层数据库是PostgreSQL 9.1.2,ruby位于1.8.7-p357

这是故意的行为吗


我知道我可以将SQL传递给join,但在可读性方面这将是一个相当大的倒退。

您应该使用
:podcast

User.joins :podcasts
连接使用的符号应与关联中使用的符号匹配。从:


您应该使用
:播客

User.joins :podcasts
连接使用的符号应与关联中使用的符号匹配。从:

class Category < ActiveRecord::Base
  has_many :posts
end
class Post < ActiveRecord::Base
  belongs_to :category
  has_many :comments
  has_many :tags
end
Category.joins(:posts)