【发布时间】:2017-03-10 23:34:12
【问题描述】:
我有一个@commit 那个has_many :diffs,所以我有一个@diffs = @commit.diffs。
每个diff 都有一个.body,其中包含一个字符串。
我遇到的问题是我需要能够快速检查属于 commit 的每个 diff 的 body 以查看它是否满足某些条件(即 body.include? (line_count - 3).to_s)。如果是这样,我想保存/使用那个diff。
我实现它的方式是这样做:
<% @diffs.each do |diff| %>
<% if diff.body.include? (line_count - 3).to_s %>
<% diff.body.lines.each do |dl| %>
<% end %>
<% end %>
<% end %>
这似乎不优雅。我怎样才能让它更干燥、更高效、更清洁?
我也想把这个从我的视野中移开,并进入一个助手/装饰器之类的东西。
【问题讨论】:
-
在某些事情上调用
to_s几乎可以保证您得到一个字符串,并且任何字符串在逻辑上总是正确的。该条件永远不会触发。
标签: ruby-on-rails ruby ruby-on-rails-5