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。