Ruby on rails 模型没有像我认为的那样连接
为什么我会在投标中收到此错误Ruby on rails 模型没有像我认为的那样连接,ruby-on-rails,has-many-through,has-many,belongs-to,Ruby On Rails,Has Many Through,Has Many,Belongs To,为什么我会在投标中收到此错误 => undefined method `request_for_proposal' for # <ActionView::Helpers::FormBuilder:0x002aaad671c9c8> =>未定义的方法“请求建议书” # 投标申请书有很多投标 投标属于征求建议书 ==================================================== Inside views/bids/_form
=> undefined method `request_for_proposal' for
# <ActionView::Helpers::FormBuilder:0x002aaad671c9c8>
=>未定义的方法“请求建议书”
#
投标申请书有很多投标投标属于征求建议书
====================================================
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>
====================================================
内部视图/bids/_form.html.erb
在投标中,我需要通过RFP获得“受邀的供应商”,以便我以后可以限制或限制实际提交投标的供应商
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 | |
+-------------------------+----------+------+-----+---------+----------------+
class-Biddesc;
+-------------------------+---------------+------+-----+---------+----------------+
|字段|类型|空|键|默认|额外|
+-------------------------+---------------+------+-----+---------+----------------+
|id | int(11)| NO | PRI | NULL |自动增量|
|成本|十进制(10,0)|是| |空||
|申请建议书id(11)|是| MUL |空||
|供应商id | int(11)|是| MUL | NULL ||
|联系方式| id | int(11)|是| MUL | NULL ||
|创建于|日期时间|否|空||
|更新时间为|日期时间|否|空||
+-------------------------+---------------+------+-----+---------+----------------+
================================================
类RequestForProposal:rfp\u供应商
拥有并且属于许多:企业主,:class\u name=>:联系人,
:foreign\u key=>:企业\u所有者\u id
拥有且属于多个:评估者,:class\u name=>:联系人,
:外键=>:计算器\u id
-----------------------------------------------
mysql>desc request\u for\u建议书;
+----------------------------+--------------+------+-----+---------+----------------+
|字段|类型|空|键|默认|额外|
+----------------------------+--------------+------+-----+---------+----------------+
|id | int(11)| NO | PRI | NULL |自动增量|
|rfp|U编号| varchar(255)|否|空||
|联系人| id | int(11)|是| |空||
|供应商id | int(11)|是| |空||
|名称| varchar(255)|否| |空||
|description | varchar(255)| YES | | NULL ||
|标题| varchar(255)|否| |空||
|投标书| id | int(11)|是| |空||
|企业|所有者| id | int(11)|是| |空||
|求值器| id | int(11)| YES | | NULL ||
|创建于|日期时间|否|空||
|更新时间为|日期时间|否|空||
+----------------------------+--------------+------+-----+---------+----------------+
================================================
类供应商:rfp\u供应商
有很多:出价
------------------------------------------------
mysql>desc供应商;
+-------------------------+--------------+------+-----+---------+----------------+
|字段|类型|空|键|默认|额外|
+-------------------------+--------------+------+-----+---------+----------------+
|id | int(11)| NO | PRI | NULL |自动增量|
|友好的名称| varchar(255)|是| |空||
|创建于|日期时间|否|空||
|更新时间为|日期时间|否|空||
+-------------------------+--------------+------+-----+---------+----------------+
================================================
================================================
mysql>desc bids\u联系人;
+------------+---------+------+-----+---------+-------+
|字段|类型|空|键|默认|额外|
+------------+---------+------+-----+---------+-------+
|投标书| id | int(11)| NO | | NULL ||
|联系方式| id | int(11)| NO | | NULL ||
+------------+---------+------+-----+---------+-------+
mysql>desc出价与供应商;
+-----------+---------+------+-----+---------+-------+
|字段|类型|空|键|默认|额外|
+-----------+---------+------+-----+---------+-------+
|投标书| id | int(11)| NO | | NULL ||
|供应商id | int(11)| NO | | NULL ||
+-----------+---------+------+-----+---------+-------+
mysql>desc rfp\u供应商;
+-------------------------+----------+------+-----+---------+----------------+
|字段|类型|空|键|默认|额外|
+-------------------------+----------+------+-----+---------+----------------+
|id | int(11)| NO | PRI | NULL |自动增量|
|供应商id | int(11)|是| |空||
|申请建议书id(11)|是| | N