在每个数组轨中查找重复项
<% @sp_references.each |sp_ref| %>
<% sp_ref.all_references.each_with_index do |tax_ref, i| %> <%if (tax_ref.reference.uniq) && (tax_ref.reference!~ /emend$/i) %> <%=tax_ref.reference %> <%结束%> <%结束%> <%end%>
用于获取tax_ref.reference 中不同元素的“uniq”选项不起作用。它显示“# 的未定义方法‘uniq’
<% @sp_references.each do |sp_ref| %>
<% sp_ref.all_references.each_with_index do |tax_ref, i| %>
<%if (tax_ref.reference.uniq) && (tax_ref.reference !~ /emend$/i) %>
<%= tax_ref.reference %>
<%end%>
<%end%>
<%end%>
This 'uniq' option to get distinct elements in tax_ref.reference is not working. It shows "undefined method `uniq' for #
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在我看来,
tax_ref.reference
不是一个数组。应该在数组上调用uniq
。试试这个:It seems to me like
tax_ref.reference
is not an array.uniq
should be called on arrays. Try this instead:uniq 是任何可枚举对象(数组)上的方法。所以你不能在tax_ref的引用对象上调用它。
相反,您需要在 sp_ref.all_references 上调用它,例如
sp_ref.all_references.uniq.each
这个 SO Question 对于仅属性重复(不唯一)时过滤掉重复对象有一些建议。
uniq is a method on any enumerable object (arrays). So you can't call it on the reference object of tax_ref.
Instead, you'll want to call it on sp_ref.all_references, like
sp_ref.all_references.uniq.each
This SO Question has some suggestions on filtering out duplicate objects when only an attribute is duplicated (not unique).
这对我有用。
It works for me.