【发布时间】:2014-04-25 18:14:29
【问题描述】:
如何重构这段代码?我在 Sinatra 上写我需要分成一个单独的文件
<div class="row">
<div class="col-xs-3">
<% @user.posts.each do |post| %>
<a href="/posts/<%= post.id %>"><%= post.title %></a><br>
<p><%= post.body %></p>
<% unless post.comment.blank? %>
<% post.comment.each do |comment| %>
<p><%= comment.body %></p>
<% unless comment.comment.blank? %>
<% comment.comment.each do |comment2| %>
<p><%= comment2.body %></p>
<% unless comment2.comment.blank? %>
<% comment2.comment.each do |comment3| %>
<p><%= comment3.body %></p>
<% end %>
<% end %>
<% end %>
<% end %>
<% end %>
<% end %>
<% end %>
</div>
</div>
我的模型循环评论
def up
create_table :comments do |t|
t.string :body
t.integer :post_id
t.integer :comment_id
t.timestamps
end
end
这是我的迁移模型评论
【问题讨论】:
-
好像是codereview.stackexchange.com的问题。
-
而且,我不明白它的标题。
-
我想使用 block 或 lambda 重构代码,但不知道如何
-
你为什么要检查评论是否为
blank?.each即使在一个空的集合对象上也可以工作,它不会做任何事情。