首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何纠正ActiveRecord::Associations::CollectionProxy

如何纠正ActiveRecord::Associations::CollectionProxy
EN

Stack Overflow用户
提问于 2014-03-12 16:48:43
回答 1查看 657关注 0票数 0

我正在创建一个类别选择下拉,以添加类别到一个事件。

我可以添加它们,它们显示在编辑区域的表单中,我可以看到后端添加的类别。

当我试图在视图中显示它们时,它在布局中给出了一个奇怪的错误:

代码语言:javascript
复制
<ActiveRecord::Associations::CollectionProxy::ActiveRecord_Associations_CollectionProxy_Category:0x00000102542f10>

在我的设计中,我得到了这个:

视图/事件/index.html.erb

代码语言:javascript
复制
<%= 
              event.categories.each do |events|
                category.name
              end
              %>

模型/分类.

代码语言:javascript
复制
class Category < ActiveRecord::Base

    belongs_to :event
    belongs_to :profile
    belongs_to :classified
    belongs_to :page

    extend FriendlyId
    friendly_id :name, use: :slugged

end

管理/分类.

代码语言:javascript
复制
ActiveAdmin.register Category do

    controller do
       def permitted_params
          params.permit category: [:name, :description]
       end
       def find_resource
            scoped_collection.friendly.find(params[:id])
        end
    end

    form do |f|
      f.inputs "Name" do
        f.input :name
      end
      f.inputs "Description" do
        f.input :description, :as => :ckeditor, :label => false, :input_html => {  :ckeditor => { :toolbar => 'Full', :height => 400 } }
      end
      f.actions
    end

end

在我的类别表中,有一个event_id列,因此它可以找到关联的事件,并链接到events表和类别表。

任何对这件事的洞察力都会很好

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-12 16:55:35

更新views/events/index.html.erb如下:

代码语言:javascript
复制
<% if event.categories.count > 0 %> 
      <% event.categories.each do |category| %> ## Use <% %> to evaluate ruby code
        <%= category.name %>               ## Use <%= %> To evaluate and show the results
      <% end %>
<% end %>         

在您的示例中,<%= %>将返回event.categories值,这是<ActiveRecord::Associations::CollectionProxy::ActiveRecord_Associations_CollectionProxy_Category的一个实例,您在呈现的页面上看到了这个实例。

更新

OP也有foreign_key的担忧。在“类别”表中为事件、概要、分类和页添加foreign_keys。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22358378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档