Rails路由 - 如何在没有控制器的情况下添加对象的路由

时间:2011-11-02 01:07:32

标签: ruby-on-rails

我创建了一个名为settings的对象。所以我也在routes.rb文件中提供了它的路线我写了“map.resources:settings”。现在,当我尝试使用该对象保存到数据库时,它会继续访问localhost:3000 / settings url,这是我没有的。我',也有这个错误

SettingsController中的NameError #create

未初始化的常量SettingsController

请帮助!谢谢!

2 个答案:

答案 0 :(得分:2)

我不是百分百肯定,但我相信你需要一个控制器来添加路线。查看此图表:http://ruby.railstutorial.org/ruby-on-rails-tutorial-book#sec:mvc

答案 1 :(得分:0)

如果您使用Rails,则必须坚持其规则。 Rails实现MVC模式,其中控制器具有提供在客户端网页(视图)中启动的请求与创建,读取,更新和删除(CRUD)对象(==模型)之间的链接的角色。 routes.rb在此定义从URL到控制器操作的映射,而不是直接到资源。有关详细信息,请参阅"Rails Guides for Routing"

如果您想使用模型对象,Rails提供了一种简单的方法来启动它:scaffolding。使用rails generate scaffold setting <attr_name1>:<type1> ...,您可以创建以下内容:

  • 创建settings表的数据库的迁移。
  • 生成映射到创建的数据库表的模型对象Setting
  • 控制器SettingsController,允许模型对象使用CRUD。
  • 查看为控制器生成的操作的文件。

你们都可以手工完成,但这是一个很好的起点。阅读基本教程并使用示例应用程序来感受Rails ......