3

Railsアプリで旅行を作成していますが、それらの旅行にカテゴリを追加したいと思います。カテゴリは私のDBのCategoriesテーブルに保存され、ユーザーはどのカテゴリが旅行に適しているかを選択できます。したがって、旅行は複数のカテゴリを使用できます。

私は初心者ですが、このテーマに関するRoRガイドの助けを借りていくつかのことを理解しました。これで、trip_idとcategory_idを保持する必要がある3番目のテーブルtripcategoriesがあります。右?それで私は次のモデルを持っています:

trip.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

category.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 に答える