我对 Rails 3 有一般的结构问题,新的 routes.rb 让我有点困惑。感谢您的任何帮助或指导。
我有一个包含嵌套资源的论坛应用程序。有部分,主题和回复。routes.rb 结构如下所示:
resources :sections do
resources :topics do
resources :replies
end
end
我的部分.rb:
has_many :topics
has_many :replies, :through => :topics
我的主题.rb:
belongs_to :section
has_many :replies
我的回复.rb:
belongs_to :topic
这非常有效。现在这就是我感到困惑的地方。
我使用 Devise 添加了一个用户控制器,并有一个有效的用户名登录/注销系统。我正在尝试将“current_user”与回复和主题联系起来。我想我对如何修复模型有一个好主意,但我对在 routes.rb 文件中做什么感到很困惑。
对于 user.rb,我相信我需要添加“has_many :topics”和“has_many :replies, :through => :topics”。然后在我的主题中,我需要添加“belongs_to :user”。我相信reply.rb 保持不变?
至于 routes.rb 我有点难过。如果我编辑路由并向其中添加用户,我会得到一个类似 sectionid/username/topicid/ 的路径,但我不一定需要在这样的路由中存储用户名。那么我是在部分和主题之间嵌套用户还是可以将用户排除在 routes.rb 文件之外。