如何在 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
字段,因此您可以使用关联,但必须分别创建Item
和Employee
模型。
如果您参考上一个问题,您需要提供一个链接。但是您的问题应该是独立的,因为 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_id
和 employee_id
(scaffold
还创建了它的资产、控制器、路由和测试)。
如果您还需要创建 Employee
和 Item
模型,则需要分别创建它们。
> rails g model Employee
> rails g model Item
另请阅读difference between scaffold and model in Rails 和documentation about the generate command。
【讨论】:
以上是关于如何在 Cloud9 上使用 Rail 的 generate 生成脚手架文件的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Cloud9 上的 PHP 5.6 / 7.2 之间切换?
如何将 Cloud9 (python) 连接到 VPC 中的 Redshift?