重构
现在我们已经有可以操作的articles和comments,来看一下模板app/views/articles/show.html.erb。它变得越来越冗长和笨拙。我们可以用局部文件来清理.
7.1 Rendering Partial Collections
首先,我们来建一个comment的局部文件, 把用来显示article所有的comment提取出来。创建这个文件 app/views/comments/_comment.html.erb,编辑上下面的代码:
<p> <strong>Commenter:</strong> <%= comment.commenter %> </p>
<p> <strong>Comment:</strong> <%= comment.body %> </p> |
接着你可以编辑文件 app/views/articles/show.html.erb:
<p> <strong>Title:</strong> <%= @article.title %> </p>
<p> <strong>Text:</strong> <%= @article.text %> </p>
<h2>Comments</h2> <%= render @article.comments %>
<h2>Add a comment:</h2> <%= form_for([@article, @article.comments.build]) do |f| %> <p> <%= f.label :commenter %><br> <%= f.text_field :commenter %> </p> <p> <%= f.label :body %><br> <%= f.text_area :body %> </p> <p> <%= f.submit %> </p> <% end %>
<%= link_to 'Edit Article', edit_article_path(@article) %> | <%= link_to 'Back to Articles', articles_path %> |
对于每一个comment,这将会跳转到局部文件 app/views/comments/_comment.html.erb,而@article.comments是一个数组集合。作为跳转的方法会逐个迭代@article.comments的数组集合,对于每一个comment都赋值一个本地变量,名称都是同一个局部文件,在这个例子中comment在稍后可以使用,会给我们显示出结果来。
original text: http://guides.rubyonrails.org/getting_started.html#refactoring
相关推荐
《Rails反模式:最佳实践与Ruby on Rails重构》是一本由Chad Pytel和Tammer Saleh撰写的书籍,深入探讨了在Ruby on Rails开发过程中常见的反模式,并提供了相应的最佳实践和重构策略。本书旨在帮助开发者识别并避免...
#### Refactoring to Resources 讨论了如何利用CRUD(Create, Read, Update, Delete)和RESTful设计原则来优化Rails应用,使其更加符合现代Web开发的最佳实践。 #### Mongrel: Serving, Deploying and Extending ...
神级ROR教程第四版:最新版 传说中学Ruby只要两本书,一本是ProgrammingRuby(在我的资源列表里也有),另一本就是Agile.Web.Development.with.Rails,即该本书。... Instead, it's a complete refactoring.
《Design Patterns in Ruby》探讨了Ruby中的设计模式,《Rails Refactoring to Resources》讨论了如何在Rails应用中实施CRUD(创建-读取-更新-删除)和RESTful设计。 此外,Rails社区还推出了系列的“Rails Guides...
10. **重构Rails代码**:Ruby on Rails(ROR)是一个流行的Web开发框架,书中专门介绍了针对Rails应用的重构策略和技巧。 总的来说,《Refactoring: Ruby Edition》是Ruby开发者改进代码质量和设计的重要资源,无论...
Rails 这是一个演示如何重构遗留 Java 项目以使用 Rails 的项目。 整个存储库历史旨在从头到尾读取。 每个提交消息都用该特定步骤的目标和预期进行注释。 如果您只是从特定快照复制或模仿代码而不了解它是如何到达...
使用动态路由重构算命先生 有关该项目的。 设置 通过运行bin/server启动Web bin/server 。 导航到实时应用程序预览。 在工作时,请记住导航到/git并在工作时经常提交。... rails grade以确保一切仍然有效。
setup.rb必要的代码app.rb运行(模拟了一个超级基本的Rails)我们不需要看/编辑它,除非只是好奇。 :-) tests.rb自我解释。 是日常生活中必需的,特别是用于重构。 运行bundle以确保您具有运行测试所需的gem( ...
使用方法重构MSM查询有关该项目的。设置通过运行bin/server启动Web bin/server 。 导航到实时应用程序预览。 在工作时,请记住导航到/git并在工作时经常提交。 rails grade以确保一切仍然有效。
重构MSM查询-再次! 在这个项目中,我们将使用ActiveRecord强大的关联帮助器来重新编写关联访问器方法。 使用此工具可以帮助您计划新的关联方法: ...重新访问您的页面和rails grade以确保一切正常。
#### 五、重构(Refactoring) 重构是优化代码结构的重要手段,Rubymine提供了丰富的重构工具。 - **F5 / F6**:复制/移动(Copy/Move)。 - **Shift + F6**:重命名(Rename),这是最常用的重构操作之一。 - **...
《重构:改善既有代码的设计》(Refactoring: Improving the Design of Existing Code)是马丁·福勒(Martin Fowler)所著的一本书,被认为是重构领域的经典之作。书中详细介绍了重构的各种模式和最佳实践,是每个...