我有以下代码
<% @data1.results.map do |s|%>
<%if params[:data1].empty? == true%>
s.product.text
<!-- More content to come-->
<%else%>
<% if s.text.include?(params[:data1])%>
<!--Skip over -->
<%else%>
s.product.text
<!-- More content to come-->
<%end%>
<%end%>
<%end%>
现在你可以看到
s.product.text
<!-- More content to come-->
被重复。我刚刚粘贴了这两行,但将来会有更多。现在我想知道有什么巧妙的方法可以将代码放在那里而不重复或使视图不舒适?也许使用 Proc ?但是如何?我尝试在助手中使用它但没有用
我有类似的东西
@proc = Proc.new {
s.product.text
<!-- More content to come-->
}
但是当我做 a@proc.call
它给了我一个no method error
.
任何帮助或建议表示赞赏。谢谢