所以我试图比较食谱然后在节目中显示版本。比较功能和视图正常工作。我可以在同一页面上看到它们。但是我想用diffy来展示两者之间的不同之处。
我正在使用部分"显示"输出差异。为了理智,我想在这个视图中建立新的"版本"。所以下面可以随意忽略:渲染"显示",食物:@version。
现在在我的比较(显示)视图中,我有以下内容:
<div>
<h1> Original recipe </h1>
<%= render 'show', food: @original %>
</div>
<!-- Clone form -->
<div>
<h1> Cloned recipe >> Version of the Original </h1>
<%= render 'show', food: @version %>
<div class='row mt'>
<div class='col-sm-12'>
<style><%= Diffy::CSS %></style>
<div class='well diff'>
<p>
<strong>Name:</strong>
<%= diff(food.recipe.name) %>
</p>
</div>
</div>
</div>
老实说,我不能想到下面的内容要比较两者:
<%= diff(food.recipe.name) %>
我尝试用逗号分隔@original和@version的变体,甚至建立了一个食物助手无济于事。
我的助手看起来像:
def diff(content1, content2)
changes = Diffy::Diff.new(content1, content2,
include_plus_and_minus_in_html: true,
include_diff_info: true)
changes.to_s.present? ? changes.to_s(:html).html_safe : 'No Changes'
end
关于我需要投入什么样的思考?
答案 0 :(得分:0)
花了一段时间但是:
<%= diff(@version.recipe.name, @original.recipe.name) %>