“MD”的未定义方法“map”:字符串

时间:2015-12-16 02:13:52

标签: ruby-on-rails

我正在努力创建一个动态下拉框排列。感谢StackExchange Ruby社区,我能够创建第一个下拉框。我想做的是让用户选择一组处于特定状态的银行,但不断从我的f.grouped_collection_select表单中获取以下错误消息:“MD”的未定义方法`map':String。我查看了ActionView::Helpers::Formsvideo,但似乎没有任何效果。您将提供的任何帮助将不胜感激。我想我也必须添加jquery代码?这是我目前的观看代码:

 <%= form_for @boli do |f| %>

 <%= f.label :state %>
 <%= f.collection_select :state, (Boli.order(:state).select("DISTINCT ON (state) id, state")), :id, :state, include_blank: true %>
 <div>
   <%= f.label :bank %>
   <%= f.grouped_collection_select :bank, Boli.order(:bank), :state, :name, :id, :name, include_blank: true %>
</div>
  <% end %>

1 个答案:

答案 0 :(得分:0)

您需要按州分组银行。这意味着存在一对多(一个州到多个银行)或它们之间的多对多关系。

一对多关系意味着Bank是一个模型,其中state作为属性或引用另一个模型State

多对多关系意味着BankState都是由另一个表加入的模型。

bankstate作为另一个模型的属性,对它们之间的关系进行建模是不可行的。

为了使用grouped_collection_select,您应该同时使用两种模型。