为什么我得到这个错误_form的选择内部出价?模型不连接,因为我认为他们应该是
=> undefined method `request_for_proposal' for
# <ActionView::Helpers::FormBuilder:0x002aaad671c9c8>
request_for_proposal 的has_many投标
投标belongs_to的 request_for_proposal
====================================================
Inside views/bids/_form.html.erb
<div class="field">
<%= bid.label :vendor_name %>
<%= bid.select :vendor_id, bid.request_for_proposal.vendors.collect { |rfpvi|
[rfpvi.friendly_name + " : " + rfpvi.rfp_number, rfpvi.id] } %>
</div>
竞标我需要去通过RFP得到 “invited_vendors” 这样我以后可以限制或限制供应商实际上可以提交出价。
class Bid < ActiveRecord::Base
attr_accessible :cost, :request_for_proposal_id, :vendor_id
belongs_to :request_for_proposal
belongs_to :vendor
------------------------------------------------
mysql> desc bids;
+-------------------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------------+---------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| cost | decimal(10,0) | YES | | NULL | |
| request_for_proposal_id | int(11) | YES | MUL | NULL | |
| vendor_id | int(11) | YES | MUL | NULL | |
| contact_id | int(11) | YES | MUL | NULL | |
| created_at | datetime | NO | | NULL | |
| updated_at | datetime | NO | | NULL | |
+-------------------------+---------------+------+-----+---------+----------------+
================================================
class RequestForProposal < ActiveRecord::Base
attr_accessible :rfp_number, :name, :description, :title,
:contact_id, :business_owner_id
has_many :bids
has_many :rfp_vendors
has_many :vendors, :through => :rfp_vendors
has_and_belongs_to_many :business_owners, :class_name => :Contact,
:foreign_key => :business_owner_id
has_and_belongs_to_many :evaluators, :class_name => :Contact,
:foreign_key => :evaluator_id
-----------------------------------------------
mysql> desc request_for_proposals;
+----------------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| rfp_number | varchar(255) | NO | | NULL | |
| contact_id | int(11) | YES | | NULL | |
| vendor_id | int(11) | YES | | NULL | |
| name | varchar(255) | NO | | NULL | |
| description | varchar(255) | YES | | NULL | |
| title | varchar(255) | NO | | NULL | |
| bid_id | int(11) | YES | | NULL | |
| business_owner_id | int(11) | YES | | NULL | |
| evaluator_id | int(11) | YES | | NULL | |
| created_at | datetime | NO | | NULL | |
| updated_at | datetime | NO | | NULL | |
+----------------------------+--------------+------+-----+---------+----------------+
================================================
class Vendor < ActiveRecord::Base
attr_accessible :friendly_name
has_many :rfp_vendors
has_many :request_for_proposals, :through => :rfp_vendors
has_many :bids
------------------------------------------------
mysql> desc vendors;
+-------------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| friendly_name | varchar(255) | YES | | NULL | |
| created_at | datetime | NO | | NULL | |
| updated_at | datetime | NO | | NULL | |
+-------------------------+--------------+------+-----+---------+----------------+
================================================
================================================
mysql> desc bids_contacts;
+------------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+---------+------+-----+---------+-------+
| bid_id | int(11) | NO | | NULL | |
| contact_id | int(11) | NO | | NULL | |
+------------+---------+------+-----+---------+-------+
mysql> desc bids_vendors;
+-----------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| bid_id | int(11) | NO | | NULL | |
| vendor_id | int(11) | NO | | NULL | |
+-----------+---------+------+-----+---------+-------+
mysql> desc rfp_vendors;
+-------------------------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------------+----------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| vendor_id | int(11) | YES | | NULL | |
| request_for_proposal_id | int(11) | YES | | NULL | |
| created_at | datetime | NO | | NULL | |
| updated_at | datetime | NO | | NULL | |
+-------------------------+----------+------+-----+---------+----------------+
??????????????????????????????????????????? ?????????
后,我让过去这个恼人不能“看” request_for_proposals,
我将需要通过达到卖方的:通过=>:rfp_venders。
我有没有细心去担心要联系Vendors.friendly_name?
谢谢bloopletech。 我只是把它改为:
EUREKA!我在试图展示的内容上出现错误。这是解决这个无稽之谈的问题。我会记住的。 ______现在我只需要在我的投标表格中找出如何根据我现在知道我可以得到的清单来限制出价选择的供应商! ______另一个挑战! :) _____ 谢谢! – 2013-03-09 00:59:13
很高兴看到它帮助:) – bloopletech 2013-03-09 01:23:04