我有以下型号:
class Office < ActiveRecord::Base
belongs_to :city
belongs_to :company
end
class Company < ActiveRecord::Base
has_one :acquirer
has_many :offices
has_many :cities, through: :offices
end
class City < ActiveRecord::Base
has_many :offices
end
我的办公室控制器是这样设置的:
class OfficesController < ApplicationController
before_action :set_office, only: [:show, :edit, :update, :destroy]
respond_to :html, :json
def index
respond_with(@offices = Office.all(:include => [:company, :city]))
end
...
还有我的 schema.rb:
create_table "cities", id: false, force: true do |t|
t.string "name", null: false
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "companies", id: false, force: true do |t|
t.string "name", null: false
t.string "website"
t.datetime "created_at"
t.datetime "updated_at"
t.string "acquirer_id"
end
create_table "offices", force: true do |t|
t.boolean "headquarters"
t.string "city_id"
t.string "company_id"
t.datetime "created_at"
t.datetime "updated_at"
end
我不太确定出了什么问题。
我真正想要的只是显示 company_id 和 city_id 列。我有一个采集控制器,即使没有 response_with 方法,它也会以 JSON 格式显示这些列。所以我不明白为什么它在这种情况下默认工作而不是在这种情况下工作。我正在使用带有 Ruby 2.0.0 的 Rails 4.0.0。