【发布时间】:2014-08-31 21:07:58
【问题描述】:
我正在尝试向我的应用程序中的表单添加第二个下拉菜单。我已经从第一个下拉列表中复制了代码并更改了值以匹配我试图从中提取值的类。当我删除第二个下拉菜单时,应用程序运行顺利,返回错误的是第二个菜单。
uninitialized constant ActionView::CompiledTemplates::Providers
如果我在代码中将“Providers.order”更改为“Provider.order”,它会返回此错误:
undefined method `provider_id' for #<Bill:0x007fbf62544ee8>
这是我的代码形式:
<div class="field">
<!-- Drop Down menu for categories -->
<%= f.label :category_id %><br>
<%= f.collection_select :category_id, Category.order(:name), :id, :name%>
</div>
<div class="field">
<!-- Drop Down menu for providers -->
<%= f.label :provider_id %><br>
<%= f.collection_select :provider_id, Providers.order(:name), :id, :name%>
</div>
【问题讨论】:
-
你有一个名为 Provider 的模型吗?
-
是的。我有一个完整的 mvc 供提供者参考类别。
-
第一个错误是因为你有Providers而不是Provider。你的模型之间有什么关系?
-
账单:belongs_to :category belongs_to :user belongs_to :provider has_many :reminders ------ A category: has_many :bills has_many :providers ------- A Provider: belongs_to :类别属于_to :bill
-
它返回错误“undefined method provider_id for #:0x007fd6d53c4728>”与其他错误略有不同。这个是指班级,而不是像前一个那样计费。
标签: ruby-on-rails ruby forms drop-down-menu