我以为我可以通过系统地浏览选项来打败它。它赢了。
index.html.erb 和 form.html.erb 就像现在一样工作。
我在 Bids 和 Contacts 之间有多对多的关系,bids_contacts 在该表中的 bid_id 和 customer_contact_id 之间。
这是联系人然后出价模型:
has_and_belongs_to_many :bid_customer_contacts, :class_name => 'Bid',
:association_foreign_key => 'bid_id'
has_and_belongs_to_many :customer_contacts, :class_name => 'Contact', :foreign_key => 'customer_contact_id'
bids_controller.rb 没什么特别的
show.html.erb 文件错误:
Mysql2::Error: Unknown column 'bids_contacts.contact_id' in 'on clause':
SELECT `contacts`.* FROM `contacts` INNER JOIN `bids_contacts'
ON `contacts`.`id` = `bids_contacts`.`contact_id'
WHERE 'bids_contacts`.`customer_contact_id` = 15
代码是:
<b>Customer Contacts:</b>
<% if !@bid.customer_contacts.empty? %> <<===============
<ul>
<% @bid.contacts.each do |bc| %>
<li><%= link_to(bc.name, bc) %></li>
<% end %>
</ul>
<% else %>
No Customer Contacts<br/>
<% end %>
我在 M2M 表中尝试了contact_id而不是customer_contact_id,但我得到了不同的错误。
如果我需要分享其他内容来解决这个谜团,请告诉我。谢谢。