我是Rails的新手,所以我目前的项目处于一个奇怪的状态。

我最先生成的东西之一是“电影”模型。然后我开始更详细地定义它,添加了一些方法,等等。

我现在意识到我应该用rails生成脚手架来连接路由、视图、控制器等。

我试图生成脚手架,但我得到了一个错误,说一个同名的迁移文件已经存在。

现在我为我的“电影”创建脚手架的最好方法是什么?(使用轨道3)


当前回答

我在Ubuntu 20.04中开发Rails 6 API应用程序时遇到了这个挑战。

我已经有了现有的模型,我需要为模型生成相应的控制器,并在控制器参数中添加它们的允许属性。

我是这样做的:

我使用rails generate scaffold_controller来完成它。

我简单地运行了以下命令:

rails generate scaffold_controller School name:string logo:json motto:text address:text

rails generate scaffold_controller Program name:string logo:json school:references

这将为模型生成相应的控制器,并在控制器参数中添加它们的允许属性,包括外键属性。

create  app/controllers/schools_controller.rb
invoke  test_unit
create    test/controllers/schools_controller_test.rb

create  app/controllers/programs_controller.rb
invoke  test_unit
create    test/controllers/programs_controller_test.rb

这是所有。

我希望这对你们有帮助

其他回答

在Rails 5中,您仍然可以运行

$rails generate scaffold movie --skip

创建所有缺失的脚手架文件或

rails generate scaffold_controller Movie

只创建控制器和视图。

为了得到更好的解释,请查看导轨脚手架

这个命令应该可以做到:

$ rails g scaffold movie --skip

李·贾维斯的回答很好,这只是命令。我们已经有了一个叫做User的模型:

rails g scaffold_controller User

我在Ubuntu 20.04中开发Rails 6 API应用程序时遇到了这个挑战。

我已经有了现有的模型,我需要为模型生成相应的控制器,并在控制器参数中添加它们的允许属性。

我是这样做的:

我使用rails generate scaffold_controller来完成它。

我简单地运行了以下命令:

rails generate scaffold_controller School name:string logo:json motto:text address:text

rails generate scaffold_controller Program name:string logo:json school:references

这将为模型生成相应的控制器,并在控制器参数中添加它们的允许属性,包括外键属性。

create  app/controllers/schools_controller.rb
invoke  test_unit
create    test/controllers/schools_controller_test.rb

create  app/controllers/programs_controller.rb
invoke  test_unit
create    test/controllers/programs_controller_test.rb

这是所有。

我希望这对你们有帮助

对于那些使用现有数据库启动rails应用程序的人来说,有一个叫做schema_to_scaffold的很酷的gem来生成一个scaffold脚本。 输出:

Rails脚手架用户fname:字符串lname:字符串bdate:日期email:字符串encrypted_password:字符串

从你的图式中。我们重新命名的模式。检查它