Ruby on rails 3 如何根据印度财政年度设置月份范围
根据印度财政年度(4月1日至3月31日),当月份更改为1月时,如何获取范围?12月31日之后,我的逻辑失败,不显示任何内容。以下是我显示所有月份的代码: 型号: 观点:Ruby on rails 3 如何根据印度财政年度设置月份范围,ruby-on-rails-3,date-range,Ruby On Rails 3,Date Range,根据印度财政年度(4月1日至3月31日),当月份更改为1月时,如何获取范围?12月31日之后,我的逻辑失败,不显示任何内容。以下是我显示所有月份的代码: 型号: 观点: <% (current_financial_year.start_date.month..Date.today.month).times do |a| %> <tr> <td><%= PayrollDetails.get_month
<% (current_financial_year.start_date.month..Date.today.month).times do |a| %>
<tr>
<td><%= PayrollDetails.get_month(a.to_s)%></td>
</tr>
<% end %>
如何解决rails3中的反转范围问题,请提前感谢 看来你没有处理包裹箱。你可以用很多方法来处理它。这是我能想到的最基本的方法:
<% (current_financial_year.start_date.month..(Date.today.month < current_financial_year.start_date.month ? Date.today.month+12 : Date.today.month)).times do |a| %>
<tr>
<td><%= PayrollDetails.get_month((a%12).to_s)%></td>
</tr>
<% end %>
这相当难看。您可能希望为当前月份创建一个局部变量,或者您可以打开日期类并定义一个执行以下操作的财务月:代码>逻辑
我希望这能有所帮助。我同意@Geoff的回答,我已经改变了这一点,以适应我的情况:
<% for a in (current_financial_year.start_date.month..(Date.today.month < current_financial_year.start_date.month ? Date.today.month+12 : Date.today.month)) %>
<tr>
<td><%= PayrollDetail.get_month((a>12? (a -12) : a ).to_s)%></td>
<% end %>
12? (a-12):a)至(s)%>
这对我很有用。谢谢@Geoff这对我来说可能是一个新的开始
<% (current_financial_year.start_date.month..(Date.today.month < current_financial_year.start_date.month ? Date.today.month+12 : Date.today.month)).times do |a| %>
<tr>
<td><%= PayrollDetails.get_month((a%12).to_s)%></td>
</tr>
<% end %>
<% for a in (current_financial_year.start_date.month..(Date.today.month < current_financial_year.start_date.month ? Date.today.month+12 : Date.today.month)) %>
<tr>
<td><%= PayrollDetail.get_month((a>12? (a -12) : a ).to_s)%></td>
<% end %>