3

我正在我的 Rails 应用程序中创建旅行,我想为这些旅行添加类别。类别存储在我的数据库中的类别表中,用户可以选择适合旅行的类别。因此可以使用多个类别的行程。

虽然我是一个菜鸟,但我在有关该主题的 RoR 指南的帮助下想出了一些事情。现在,我有一个第三个表tripcategories,它必须保存trip_id 和category_id。正确的?有了这个,我有以下模型:

行程.rb:

class Trip < ActiveRecord::Base
  attr_accessible :description, :title, :user_id, :triplocations_attributes, :photo
  has_many :triplocations, :dependent => :destroy

  has_many :tripcategories
  has_many :categories, :through => :tripcategories

  accepts_nested_attributes_for :triplocations, allow_destroy: true
end

类别.rb:

class Category < ActiveRecord::Base
  attr_accessible :name
  has_many :tripcategories
  belongs_to :trip, :through => :tripcategories
end

tripcategory.rb:

class Tripcategory < ActiveRecord::Base
  attr_accessible :category_id, :trip_id
  belongs_to :trip
  belongs_to :category
end

当我以这种方式尝试并尝试在我的旅行索引中调用 trip.categories 时,它会显示"Unknown key: through"。我是在做严重错误的事情还是我错过了更大的图景?

提前致谢!

4

1 回答 1

5
class Category < ActiveRecord::Base
  attr_accessible :name
  has_many :tripcategories
  has_many :trips, :through => :tripcategories
end
于 2012-10-16T17:40:52.390 回答