2009-10-30 84 views
0

说我想脚手架生成大学护栏脚手架帮助

但大学最终应该与国家有关。因为每所大学都有一个州,一个州有很多大学。

在我的scaffold命令中应该包含state_id?

script/generate scaffold university name:string address:string state_id:int 

...我知道我将不得不更新我的模型让他们明白这个一对多的关系,但我不认为它只是添加手动数据库中列的最佳途径....所以我的问题是......什么是最合适的方法?我做得对吗?请帮忙。

回答

3

如您所知,脚手架并不意味着可以依赖最终的应用程序,它们只是提供一种方便的方式来自动生成视图的起点。

可能最简单的方法就是让脚手架为将出现在视图中的列生成字段的迁移。然后为那些不会的列创建第二次迁移。

script/generate scaffold university name:string address:string 
script/generate migration add_status_id_to_universities state_id:integer another_hidden_column:string 
rake db:migrate 

即使您已经迁移过一次,此方法仍然有效。

P.S.您可能需要查看ActiveScaffold plugin以自动使视图适应数据库更改。

+1

这对我来说似乎过分复杂。 – DanSingerman 2009-10-30 14:51:15

+0

ll给他的答案,因为他告诉我,它应该是整数,而不是整数...即使他怀念州作为状态 – ignaciofuentes 2009-10-30 15:14:08

+0

@NachoF对不起,我错过了我已经修复了。 – EmFi 2009-10-30 15:21:03

0

这就是我这样做的方式。所以是的,除非别人有更好的方法。

0

没有正确的答案。您可以在创建脚手架时包含它,或者可以在执行rake db:migrate之前稍后将其添加到迁移中。

在脚手架中指定字段的好处是,Rails可以添加反向移动来移除字段,然后自动生成的脚手架将在show/edit视图中包含字段。

+1

该领域也将包含在夹具 – DanSingerman 2009-10-30 14:50:03

+0

优秀点,DanSingerman。 – 2009-10-30 15:26:55