0

カテゴリとサブカテゴリ (選択と呼びます) の下にマイクロポストを作成するアプリケーションがあります。ユーザーは、カテゴリ フィールドと選択フィールドの 2 つのフィールドに書き込むことができます。私のモデルは次のとおりです。

class Micropost < ActiveRecord::Base
  attr_accessible :category_content, :selection_content, :category_id, :selection_id, :user_id

  belongs_to :user
  belongs_to :category
  belongs_to :selection

  validates :user_id, presence: true
  validates :category_content, presence: true
  validates :selection_content, presence: true


  default_scope order: 'microposts.created_at DESC'

end


class Category < ActiveRecord::Base
  attr_accessible :content, :id, :count, :c_count
  has_many :selections
  has_many :comments

  default_scope order: 'categories.count DESC'

end


class Selection < ActiveRecord::Base
  attr_accessible :content, :count, :category_id
  belongs_to :category

  default_scope order: 'selections.count DESC'

end

私のコンソールで、ユーザー u を作成して「u.microposts」と入力すると、目的の応答 (u によって作成されたマイクロポストのリスト) が返されます。カテゴリ c を作成して「c.selections」と入力すると、必要な応答 (c に属する選択のリスト) も得られます。しかし、「s.microposts」と入力すると、「undefined method microposts' for #<Selection:0x57c6b40>". Similarly, when I enter "u.microposts" I get the error message- "undefined methodmicroposts' for #」というエラー メッセージが表示されます。なぜこれが起こっているのですか?

RubyMine を使用して Windows で開発しています。私は間違いなくすぐに OS X に移行します。なぜなら、Windows 環境で作業するために非常に多くのフープを作成する必要があるからです。しかし、なぜこれがここで違いを生むのかわかりません。

4

1 に答える 1