カテゴリとサブカテゴリ (選択と呼びます) の下にマイクロポストを作成するアプリケーションがあります。ユーザーは、カテゴリ フィールドと選択フィールドの 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 method
microposts' for #」というエラー メッセージが表示されます。なぜこれが起こっているのですか?
RubyMine を使用して Windows で開発しています。私は間違いなくすぐに OS X に移行します。なぜなら、Windows 環境で作業するために非常に多くのフープを作成する必要があるからです。しかし、なぜこれがここで違いを生むのかわかりません。