Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 3.2:使用具有非标准外键名的部分集合_Ruby On Rails_Ruby On Rails 3.2 - Fatal编程技术网

Ruby on rails Rails 3.2:使用具有非标准外键名的部分集合

Ruby on rails Rails 3.2:使用具有非标准外键名的部分集合,ruby-on-rails,ruby-on-rails-3.2,Ruby On Rails,Ruby On Rails 3.2,我使用的是Rails 3.2。我有一个可交付的模型: class Deliverable < ActiveRecord::Base # omitting attr_accessibles # omitting validations belongs_to :owner, class_name: "User", foreign_key: "owner_id" belongs_to :project belongs_to :event end 这是index.html.e

我使用的是Rails 3.2。我有一个可交付的模型:

class Deliverable < ActiveRecord::Base
  # omitting attr_accessibles
  # omitting validations
  belongs_to :owner, class_name: "User", foreign_key: "owner_id"
  belongs_to :project
  belongs_to :event
end
这是
index.html.erb

<h1>Calendar</h1>
<%= render partial: "writer", collection: @writers %>
<h3><%= "#{writer.first_name} #{writer.last_name} %></h3>
<%= render partial: "writer_deliverables", collection: writer.deliverables %>
test
这是
\u writer\u deliveries.html.erb

<h1>Calendar</h1>
<%= render partial: "writer", collection: @writers %>
<h3><%= "#{writer.first_name} #{writer.last_name} %></h3>
<%= render partial: "writer_deliverables", collection: writer.deliverables %>
test
问题出在
\u writer.html.erb
中,由于非标准外键,当它试图呈现集合
writer.deliveries
时,出现以下错误:

PG::UndefinedColumn: ERROR:  column deliverables.user_id does not exist
LINE 1: ...ELECT "deliverables".* FROM "deliverables"  WHERE "deliverab...
                                                             ^
: SELECT "deliverables".* FROM "deliverables"  WHERE "deliverables"."user_id" = 2

我怎样才能告诉Rails外键列名实际上是
owner\id

哦,是的,我在发布五分钟后就知道了。我需要在我的用户模型中添加一个外键,如下所示:

class User < ActiveRecord::Base
  # omitting attr_accessibles
  # omitting validations
  has_and_belongs_to_many :projects #writers assigned to the project
  has_and_belongs_to_many :projects, join_table: "disclosed_users_projects" #users who have been disclosed on the project
  has_many :deliverables, foreign_key: "owner_id"
end
class用户