我正在尝试为我创建的新表创建脚手架(包含所有方法和所有),它在我的数据库上,并且我已经添加到我的 schema.rb,但我不知道该怎么做,有人知道命令吗我应该运行或类似的东西?我找到了从 db 到 schema 的选项,但没有从 schema.rb 到脚手架。
谢谢
我正在尝试为我创建的新表创建脚手架(包含所有方法和所有),它在我的数据库上,并且我已经添加到我的 schema.rb,但我不知道该怎么做,有人知道命令吗我应该运行或类似的东西?我找到了从 db 到 schema 的选项,但没有从 schema.rb 到脚手架。
谢谢
首先,我强烈建议您阅读这篇文章: 使用脚手架快速启动和运行
我不太确定我是否正确理解了你的问题。但据我所知,你肯定做错了什么。例如,脚手架是通过命令完成的:
rails generate scaffold User name:string title:string bio:text
您写道,您已经在 DB 中创建了表。所以这表明我,你没有遵循脚手架,或更重要的 Rails 原则。如果您手动将表添加到数据库中。
继续阅读入门指南,它将对您有所帮助。
您通常使用 schema.rb 作为查看数据库中表和列的便捷方式。
Scaffold 在运行时会创建新表,例如 rails g scaffold Post name:string,其中 Post 是模型(post.rb)、控制器(posts_controller.rb)和数据库表的名称,其列名是字符串。 (在 rake db:migrate 之后在模式中查找)
在您的项目中启动脚手架并找到架构以查看它的表已经到位。
使用这个宝石https://github.com/frenesim/schema_to_scaffold
Usage: scaffold [options]
Generate a rails scaffold script for a given schema.rb
-h Displays help.
-p <path> It specifies a path to a folder or to a file.
-c Will copy the script to your clipboard. Requires xclip be installed on Linux.
-f Generates a factory_girl:model rather than a full scaffold.
-m Add migration (use if your schema comes from a different database)
Examples:
scaffold
scaffold -c -p ~/work/rails/my_app
scaffold -c -p ~/work/rails/my_app/db/schema.rb
利用:
scaffold -c -p db/schema.rb
这将生成您将执行以生成模型视图控制器组件的命令列表。
但是,这不会在模型上插入限定符(has_many、belongs_to 等)。
我想知道是否有一个选项可以从 schema.rb 上列出的外键中启用它