嘿,我对 MVC 有一些经验。但我是新来的轨道。我正在使用脚手架命令生成一些默认文件。模型看起来干净漂亮,但控制器和视图并不是很干。new.html.erb 和 edit.html.erb 的内容几乎相同,new/edit 和 create/update 方法的作用几乎相同。在其他框架中,我只使用了一个视图来更新和创建新条目,并且通过将 id 设置为可选参数,在我的控制器中也使用了相同的方法。他们是否使用这种结构来保持RESTful(我对rest :() 知之甚少?使用这种默认内容作为crud 是否是最佳实践?
3 回答
脚手架生成器是一个很好的起点。正如您所指出的,有些事情并不是那么好。我认为大多数人都会采用脚手架生成的东西,然后根据自己的喜好对其进行修复。例如,您可以从new.html.erb
and中提取表单部分edit.html.erb
并将其放置在 partial_form.html.erb
中。然后更新new.html.erb
并edit.html.erb
包含该部分以呈现表单。我认为对于 Rails 3,脚手架生成器已更改为默认执行此操作。
它确实看起来像new
andedit
和create
and update
,但你需要记住它们被映射到不同的 HTTP 方法和 URL,这与整个 RESTful 资源理念相关联。查看 RailsGuides 的路由,CRUD、Verbs 和 Actions部分有一个很好的表格,列出了七种不同的路由以及它们之间的区别。
您应该查看ryanb的漂亮生成器:
http://github.com/ryanb/nifty-generators
脚手架创建了一个名为的局部视图,然后从和视图中_form
引用该视图。它还附带了许多其他不错的选项——例如在 haml 中生成视图或在 Shoulda 或 RSpec 中生成测试。new
edit
如果他们想让你保留它,他们不会称之为“脚手架”。它只是为了让一切开箱即用。如果你把它投入生产,你很可能会被嘲笑。