如何在 Cloud9 上使用 Rail 的 generate 生成脚手架文件

Posted

技术标签:

【中文标题】如何在 Cloud9 上使用 Rail 的 generate 生成脚手架文件【英文标题】:How to generate scaffold files using Rail's generate on Cloud9 【发布时间】:2017-09-30 12:11:36 【问题描述】:

我正在创建一个销售手机的网站,并且我已经设置了所有表格和产品。

当我跑步时:

rails generate Scaffold Sale item_id:integer employee_id:integer

我在我的应用程序/模型中获得了一个名为“Sale”和“Part.rb”的 Ruby 文件。我没有得到我需要的两个 Ruby 文件,它们是“Emlployee.rb”和“Item.rb”。

我需要这些文件来跟踪哪个员工卖了哪部手机。当我导航到我的站点 /sales 时,有一个表格,但是当我导航到 /employees 以添加新员工时,Cloud0 告诉我路径未指定。

我做错了什么?

【问题讨论】:

你没有做错什么,rails generate scaffold sale 只生成模型等出售。指定item_id:integer 包括sales 表中的item_id 字段,因此您可以使用关联,但必须分别创建ItemEmployee 模型。 如果您参考上一个问题,您需要提供一个链接。但是您的问题应该是独立的,因为 SO 问题不是主题,而是文章。您的专业知识或经验对我们来说并不重要,提及它只会分散注意力。阅读“How To s The Smart Way”和 Jon Skeet 的“Writing the perfect question”了解我们需要什么。 【参考方案1】:
rails generate scaffold Sale item_id:integer employee_id:integer

只创建属于Sale 的东西。因此,在您使用此命令的情况下,您创建了一个具有两个属性的 Sale.rb 模型 - item_idemployee_idscaffold 还创建了它的资产、控制器、路由和测试)。

如果您还需要创建 EmployeeItem 模型,则需要分别创建它们。

> rails g model Employee
> rails g model Item

另请阅读difference between scaffold and model in Rails 和documentation about the generate command。

【讨论】:

以上是关于如何在 Cloud9 上使用 Rail 的 generate 生成脚手架文件的主要内容,如果未能解决你的问题,请参考以下文章

仅在 Cloud9 上出现错误“发送后无法设置标头”

如何在 Cloud9 上的 PHP 5.6 / 7.2 之间切换?

如何将 Cloud9 (python) 连接到 VPC 中的 Redshift?

性能优化-使用 RAIL 模型评估性能

Python - 在 cloud9 AWS (boto3) 上查找文件的路径

markdown 在Cloud9上运行Angular 2和Angular 4