我的代码是:
<%@flag=0%>
<%if !@current_users_challenges.blank?%>
<%@current_users_challenges.each do |k|%>
<%@flag=0%>
<%match_results_comfirmation_loop=match_results_comfirmation%>
<%for j in 0...match_results_comfirmation_loop.size%>
<%if k.created_at < match_results_comfirmation_loop[j].updated_at%>
Agree Disagree <%= match_results_comfirmation_loop[j].updated_at.localtime.strftime("%A %d %B %Y %I:%M %p")%>
<br>
<%match_results_comfirmation=match_results_comfirmation.drop(j+1)%>
<%else%>
<%@flag=1%>
<%break%>
<%end%>
Flag <%=@flag%>
<br>
<%if @flag==1%>
^^^^^^^^^^^^^^^^^^^^^^^^666
<%else%>
***************************
<%end%>
<%end%>
<%end%>
<%end%>
即使我为@flag指定了值= 1然后打破了循环,但我的标志值仍为零。我无法理解为什么会这样。并且想要将值设置为1,那么这个问题的解决方案是什么?
答案 0 :(得分:1)
我有同样的问题然后我从可靠的名字中删除@符号并为我工作。
所以你可以尝试下面的代码:
{
"aggregate" : "__collection__" ,
"pipeline" : [
{ "$group" : { "_id" : "$postId" } },
{ "$skip" : 1 },
{ "$limit" : 1 }
]
}
答案 1 :(得分:0)
控件未到达显示@flag
值的位置。不确定,但你的代码可能是这样的:
<% for j in 0...match_results_comfirmation_loop.size %>
<% if k.created_at < match_results_comfirmation_loop[j].updated_at %>
Agree Disagree <%= match_results_comfirmation_loop[j].updated_at.localtime.strftime("%A %d %B %Y %I:%M %p") %>
<br>
<% match_results_comfirmation=match_results_comfirmation.drop(j+1) %>
***************************
<% else %>
<% @flag = 1 %>
Flag <%= @flag %>
<% break %>
<% end %>
<% end %>
这里的重点是,当你的@flag
为1时,你会在显示值之前退出循环。所以,你需要根据执行控制来操作你的代码。