Rails:为什么视图页面显示ActiveRecord哈希?

时间:2014-02-16 00:52:25

标签: sql ruby-on-rails ruby-on-rails-3 activerecord associations

我有两个型号CategoryFolder和Categories。 CategoryFolder有很多类别,Category属于CategoryFolder,其中包含foreign_id“parent_id”

出于某种原因,当我尝试遍历文件夹并列出其中的类别时,视图页面会显示记录哈希值,而我不知道如何摆脱它:

enter image description here

分类控制器

def index 
  @folders = current_account.category_folders.order("created_at ASC")
  @categories = current_account.categories.where(parent_id: nil).order("created_at ASC")
  # authorize! :read, Category
  render :layout => "admin"
 end

分类视图#index

      <% @folders.each do |folder| %>
        <%= folder.categories.order("title ASC").each do |category| %>
          <%= render partial: 'table_list', locals: { category: category } %>
        <% end %>
      <% end %>

文件夹 - 类别关系最近导致了一些错误,我不确定关系是否设置得很奇怪。例如,即使删除某个类别,类别标题仍将显示在“@ folder.categories.each~link_to title”之类的内容中,当我点击标题时,它会给我一个错误页面。

Category.rb

 belongs_to :folder, class_name: "CategoryFolder", :foreign_key => "parent_id"

CategoryFolder.rb

has_many :categories, class_name: "Category", foreign_key: "parent_id"

1 个答案:

答案 0 :(得分:3)

  <% @folders.each do |folder| %>
    <%= folder.categories.order("title ASC").each do |category| %>
      <%= render partial: 'table_list', locals: { category: category } %>
    <% end %>
  <% end %>

你的循环不应该有一个等号,等于打印出循环结果。

  <% @folders.each do |folder| %>
    <% folder.categories.order("title ASC").each do |category| %>
      <%= render partial: 'table_list', locals: { category: category } %>
    <% end %>
  <% end %>

第二行应该没有符号