RoR - 显示与外键链接的模型

时间:2017-05-25 11:08:14

标签: ruby-on-rails ruby-on-rails-4 rails-activerecord

在我的应用中,我有UsersBandsUser可以创建Band,因此在数据库架构中,表Band具有引用band_manager_id表的外键User

模型是:

class Band < ApplicationRecord
  belongs_to :band_manager, class_name: "User"
end

class User < ApplicationRecord
  has_many :bands, dependent: :destroy
end

在乐队控制器中,我有一个索引方法:

def index
  @bands = current_user.bands
end

在views / band / index

<ol>
    <% @bands.each do |b| %>
      <%= u.name %>
    <% end %>
<ol>

当我渲染乐队/索引页面时,Rails给了我这个错误:

SQLite3::SQLException: no such column: bands.user_id: SELECT "bands".* FROM "bands" WHERE "bands"."user_id" = ?

为什么我无法查找与用户相关的乐队?

1 个答案:

答案 0 :(得分:2)

尝试在foreign_key关联中明确设置bands

class User < ApplicationRecord
  has_many :bands, dependent: :destroy, foreign_key: 'band_manager_id'
end
相关问题