f.association中的收集数据

时间:2013-09-17 22:54:06

标签: ruby-on-rails ruby-on-rails-4 simple-form

我有一个RoR应用程序,我在Ruby 1.9.3,Rails 3.2和Bootstrap 2中使用simple_form启动。在继续之前,我决定转向Ruby 2.0,Rails 4.0和Bootstrap 3。这是我遇到的一个迁移问题。

在Rails 3.2版本中,这很好用:

<%= f.association :services, collection: @account.company.services, as: :check_boxes, label_method: :description %>

在Rails 4.0世界中,它在集合数据中没有给我任何东西。在Rails 4.0中,这些都可以工作:

<%= f.association :services, as: :check_boxes %>
<%= f.association :services, collection: Service.all, as: :check_boxes, label_method: :description %>
<%= f.association :services, collection: Service.where(id: 1), as: :check_boxes, label_method: :description %>

在Rails控制台上,@account.company.services返回ActiveRecord::Associations::CollectionProxy [#< ... >]>Service.all返回ActiveRecord::Relation [#< ... >]>

是否有人知道将我的选择合并到f.association集合中的正确格式?

修改

现在正在运作。我的部分问题原来是使用没有加入“服务”的“公司”记录(我的不好)。我确实将它与其他问题联系起来,所有这些都源于CollectionProxy替换旧的数组(或Relation)返回对象。通过在集合上使用.to_a,我能够解决大部分问题。

0 个答案:

没有答案