Ruby on rails 在错误的参数上有许多绑定

Ruby on rails 在错误的参数上有许多绑定,ruby-on-rails,has-many,Ruby On Rails,Has Many,我有show.html.erb: <h3>Rooms (<%= @building.rooms.count %>)</h3> <%= render @rooms %> class BuildingsController < ApplicationController def show @building = Building.find(params[:id]) @rooms = @building.rooms.all

我有
show.html.erb

<h3>Rooms (<%= @building.rooms.count %>)</h3>
<%= render @rooms %>
class BuildingsController < ApplicationController

  def show
    @building = Building.find(params[:id])
    @rooms = @building.rooms.all
  end
以下是模型:

class Building < ActiveRecord::Base
  has_many :rooms
end

class Room < ActiveRecord::Base
  belongs_to :building
end
建筑
模型具有以下属性:

ID, NAME, CREATED_AT, UPDATED_AT, CODE
ID, NAME, CREATED_AT, UPDATED_AT, BUILDING_CODE, NUMBER
房间
模型具有以下属性:

ID, NAME, CREATED_AT, UPDATED_AT, CODE
ID, NAME, CREATED_AT, UPDATED_AT, BUILDING_CODE, NUMBER

在您的
房间
模型中,将关联更改为如下所示:

class Room < ActiveRecord::Base
  belongs_to :building, primary_key: 'code'
end
教室

这将告诉rails关联的主键是
code
,而不是默认的
id

您应该在
Room

class Room < ActiveRecord::Base
  belongs_to :building, foreign_key: :code
end

你在使用什么数据库?神谕MySQL?PostgreSQL?那么它应该做什么?显示属于特定建筑的所有房间,其中building.code=Room.building\u code而不是使用building.ID和Room.building\u ID,我希望使用building.code和Room.building\u code。