连接类别,子类别和演出之间的关系

时间:2015-04-02 12:15:19

标签: ruby-on-rails ruby ruby-on-rails-4 model-view-controller categories

我的应用程序有类别,而不是子类别,而不是演出

我的控制器文件中有gigs_controller.rb

我的模型文件中的category.rb,subcategory.rb,gig.rb。

我如何按照category = subcategory = gig的原则建立彼此的联系(通过gig,我的意思是很多小的补充)

在Category.rb模型

中说是否正确
class Category < ActiveRecord::Base
  has_many :subcategories
end

在我的子类别模型

class Subcategory < ActiveRecord::Base
  belongs_to :category
end

和我的Gig.rb

class Gig < ActiveRecord::Base
  belongs_to :user
  belongs_to :category # I also need here to be belongs_to :subcategory,how do i do that?
end

我应该为类别和子类别创建一个控制器吗?你会怎么做呢? 感谢您的支持,希望我的问题能够帮助其他人。

2 个答案:

答案 0 :(得分:1)

你可以在没有控制器的情况下在模型中使用has_many。因为has_many使用了表的名称。

class Gig < ActiveRecord::Base

belongs_to :user

belongs_to :subcategory

end

class Category < ActiveRecord::Base

has_many :subcategories

end

class Subcategory < ActiveRecord::Base

belongs_to :category

has_many :gigs

end

答案 1 :(得分:1)

class Category < ActiveRecord::Base
  has_many :subcategories
end


class Subcategory < ActiveRecord::Base
  belongs_to :category
  has_many :gigs
end


class Gig < ActiveRecord::Base
  belongs_to :user
  belongs_to :subcategory
end