2014-09-06 43 views
0

在我的應用程序的用戶的has_many類別,類別有DB I創建主類別ID如果用戶只選擇子類別,rails如何顯示類別名稱?

,現在我不知道如何正確顯示主類別PARENT_ID - 行業標準,如果用戶只選擇sub_category User.rb

has_many :users_ecategories 
    has_many :ecategories, through: :users_ecategories 

Category.rb

類Ecategory <的ActiveRecord :: Base的

has_many :users_ecategories 
has_many :users, through: :users_ecategories 
has_many :ecategories, class_name: 'Ecategory', foreign_key: 'parent_id' 

end 

Users_categories.rb

class UsersCategory < ActiveRecord::Base 
belongs_to :user 
belongs_to :ecategory 
end 

的意見/用戶/ show.html.erb

<ul> 
      <% @user.ecategories.each do |ecategory| %> 
      <%= ecategory.parent.name %> 
      <li> 
       <ul> 
       <% @user.ecategories.where(parent_id: ecategory.parent.id).each do |sub_ecategory| %> 
       <li> 
        <%= sub_ecategory.name %> 
       </li> 
       </ul> 
      </li> 
      </ul> 
<% end %> 
<% end %> 

如果用戶選擇子1和2子導軌dublicate記錄和顯示是這樣的: 類別1個 孩子1個 孩子2 類1個 孩子1個 孩子2

,但我需要的,如果用戶選擇孩子1和兒童2個軌只給出 類別1 孩子1 孩子2

感謝

+0

有適合以及寶石足夠在這種情況下:https://github.com/collectiveidea/awesome_nested_set – 2014-09-06 21:23:49

回答

0

你可以嘗試分組:

<% @user.ecategories.group_by{|e| e.parent_id}.each do |parent, ecategories| %> 
    <%= Parent.find(parent).name %> 
     <!-- whatever Parent is, could be Category, Ecategory, I don't know --> 
    <% ecategories.each do |ecategory| %> 

諸如此類

+0

謝謝你的人! – user3089327 2014-09-06 22:05:10

相關問題