我有一个应用程序可以在类别和子类别(我称之为选择)下创建微博。用户可以在两个字段中写入,类别字段和选择字段。我的模型是:
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”时,我收到以下错误消息-“未定义的方法microposts' for #<Selection:0x57c6b40>". Similarly, when I enter "u.microposts" I get the error message- "undefined method
microposts' for #”。任何想法为什么会发生这种情况?
我正在使用 RubyMine 在 Windows 上进行开发。我肯定很快就会迁移到 OS X,因为我必须在 Windows 环境中做太多的工作,但我不明白为什么这会在这里有所作为。