rails 上的 ruby 中的所有列加入

All columns in join in ruby on rails

class Category < ActiveRecord::Base
  has_many :articles
end

class Article < ActiveRecord::Base
  belongs_to :category
  has_many :comments
  has_many :tags
end

Category.joins(:articles) 在 rails 等价于

SELECT categories.* FROM categories
  INNER JOIN articles ON articles.category_id = categories.id

如果我想要 rails-代码等效于 sql

SELECT * FROM categories
  INNER JOIN articles ON articles.category_id = categories.id

我该怎么办?

尝试使用select方法

categories = Category.select('*').joins(:articles)
categories.first.some_column_from_articles
Category.select('*').joins(:articles)

categoyes = Category.select('*').includes(:articles)

categoyes.each do |category|
    puts category.articles
end

我用这个方法

Category.connection.select_all("SELECT * FROM categories
  INNER JOIN articles ON articles.category_id = categories.id").to_a