【问题标题】:Trying to manually recreate a simple generate/scaffolding script尝试手动重新创建一个简单的生成/脚手架脚本
【发布时间】:2011-03-04 06:14:05
【问题描述】:

我试图从头开始理解 Rails。我想学习如何在框架中手动创建基本的 show-all/show-single/CRUD 功能。

我目前正在研究显示全部功能,但是当我尝试请求 Products db 中的所有项目时,由于错误而停止

以下是我目前采取的步骤:

  1. 脚本/生成控制器产品
  2. 脚本/生成模型产品
  3. rake db:迁移
  4. 修改 products_controller.rb 添加:def index() { @products = Product.all}
  5. (错误:未初始化常量 ProductsController::Product)
  6. 理想情况下,在视图中转储所有订单

解决方法是什么?

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:

    当您生成模型时,您应该使用小写复数版本或 Camel 大小写单数。

    所以script/generate model Productscript/generate model product

    总而言之,模型产品存在于 app/models/product.rb 并使用数据库表产品。当您有诸如 OrderItem 之类的多词模型名称时,它位于 app/models/order_item 并使用名为 order_items 的数据库表

    您的原始问题也没有显示在运行模型生成器时添加的任何列,我假设您为了简洁起见已将这些列排除在外。否则,您的表格可能会包含很少的列。

    【讨论】:

    • 对。你的模型应该是单数,你的控制器应该是复数。
    猜你喜欢
    • 2023-03-12
    • 2016-08-12
    • 1970-01-01
    • 2012-09-26
    • 2012-08-29
    • 1970-01-01
    • 2012-04-27
    • 2017-07-29
    • 2011-10-23
    相关资源
    最近更新 更多