我生成多个控制器吗?

时间:2013-10-16 21:15:08

标签: ruby-on-rails routes scaffolding

我正在铁轨学习之旅,我正在制作我的第一个rails应用程序。这是一个非常简单的应用程序,用户可以在各种主题上创建帖子。

我为我想要称为“伦敦”的页面生成了我的第一个脚手架(rails生成脚手架伦敦位置:字符串内容:文本)。该网站的用户可以在伦敦发布访问地点的帖子和位置。

然后我想为'Paris'复制这个功能。我是否会以不同的方式生成新的脚手架?一些建议将不胜感激。

此外,网址也是多元化的(mywebsite.com/londons)。我添加了

resources :londons, :path => "london"

改变了网址,但是当我去发帖时,我得到一个无路由匹配[POST]“/ londons”错误。有人得到了解决方案吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

而不是为每个城市生成控制器,更好的方法是在模型之间创建关系。例如,您可以创建城市和位置脚手架然后在您的城市模型中,您可以做

has_many :locations

你可以在你的位置模型里面做

belongs_to :city

这样您就不需要为每个城市创建新的支架。您可以阅读如何使用指南中的关系here

答案 1 :(得分:0)

很可能你想先把事情概括为:)

您实际需要的是页面(或主题,文章)。您可以实现具有title(可以是London,Paris等)属性的Page模型。

您将介绍PagesController。 index操作将导致页面列表,show将呈现特定页面。

在您的路线中您将执行以下操作:

resources :pages