如何解决滑轨如果为“否”和“循环”
| 我想部分执行以下操作:-if (session[:sort] == \"up\")
- event.days.sort_by{|t| - t.created_at.to_i}.each do |day|
= day.title
= day.etc
-else
- event.days.sort_by{|t| - t.created_at.to_i}.reverse.each do |day|
= day.title
= day.etc
但我不想重复
= day.title
= day.etc
我试过了:
-if (session[:sort] == \"up\")
- event.days.sort_by{|t| - t.created_at.to_i}.each do |day|
-else
- event.days.sort_by{|t| - t.created_at.to_i}.reverse.each do |day|
= day.title
= day.etc
但这是行不通的。也许我可以用三元运算符来做到这一点。
解决方法
对事件进行排序,仅在满足所需条件时将其反转,然后将其打印出来。
- sorted_events = event.days.sort_by{|t| - t.created_at.to_i}
- sorted_events = sorted_events.reverse unless session[:sort] == \"up\"
- sorted_events.each do |day|
= day.title
= day.etc
理想情况下,您将在控制器中进行此排序,然后仅在视图中进行显示。
,建议您在控制器中执行排序逻辑,并将输出存储在实例变量中。在视图中只需将显示内容做为:
<% @results.each do |result| %>
<%= result.title %>
<%= result.etc %>
<% end %>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。