我有一个部分相对较深的条件,我很好奇这是否适合部分?
我在游戏阵列中骑自行车,根据游戏日期是否符合今天的日期打印是或否。
<% i = 0 %>
<% x = 0 %>
<% @games.each do |game| %>
<% if game.date.strftime("%_m/%d")[1..-1] == today %>
YES!
<% i = 1 %>
<% else %>
<% unless i == 1 %>
NO!
<% i = 1 %>
<% x = 1 %>
<%= next_game %>
<% end %>
<% end %>
<% end %>
谢谢!
答案 0 :(得分:1)
看起来这对你来说很合适,但我不确定为什么你有两个变量或为什么你有next_game
<% @games.each do |game| %>
<% if game.date == Date.today %>
YES
<% else %>
NO!
<% end %>
<% end %>
答案 1 :(得分:1)
我会把所有的东西扔进某种辅助方法:
应用/视图/ your_controller / your_view / _your_partial.html.erb 强>
<% @games.each do |game| %>
<%= played_today(game) %>
<% end %>
应用/助手/ your_helper.rb 强>
def played_today(game) # or whatever you want to call it
# Use Date.current to be timezone aware, otherwise just Date.today
game.date == Date.current ? 'YES' : 'NO'
end
我不确定您的today
和next_game
变量/方法具体做什么,或者您是否真的要保留那些i
/ x
局部变量无论出于何种原因,但如果你这样做或者他们有其他额外的意义,请扩展你的问题。
顺便说一句,我建议keeping instance variables out of your partials:
应用/视图/ your_controller / your_view.html.erb 强>
<% = render 'your_partial', games: @games %>
应用/视图/ your_controller / _your_partial.html.erb 强>
<% games.each do |game| %>
<%= played_today(game) %>
<% end %>