加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Ruby:如何存储和显示星期几?

发布时间:2020-12-16 20:18:34 所属栏目:百科 来源:网络整理
导读:我比较新的 Ruby.我需要跟踪我的活动模式的一周中的某一天.我迄今为止的代码似乎不是最优雅的解决方案.我想知道是否有更好的方法. 到目前为止,这是我的形式: %= form_for(@activity) do |f| % div class="field" %= f.label :day %br / %= f.select :day,[[
我比较新的 Ruby.我需要跟踪我的活动模式的一周中的某一天.我迄今为止的代码似乎不是最优雅的解决方案.我想知道是否有更好的方法.

到目前为止,这是我的形式:

<%= form_for(@activity) do |f| %>
  <div class="field">
    <%= f.label :day %><br />
    <%= f.select :day,[['Sunday',0],['Monday',1],['Tuesday',2],['Wednesday',3],['Thursday',4],['Friday',5],['Saturday',6]] %>
  </div>
<% end %>

当我需要显示星期几:

<% days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'] %>
<% @activities.each do |activity| %>
  <%= days[activity.day.to_i] %>
<% end %>

我该怎么做得更好?随意提到我可能不知道的任何图书馆/宝石.

解:

Ruby提供了Date::DAYNAMES常数,这是一周中的几天.我们可以在我们的代码中重用它:

<%= form_for(@activity) do |f| %>
  <div class="field">
    <%= f.label :day %><br />
    <%= f.select :day,Date::DAYNAMES.zip((0..6).to_a) %>
  </div>
<% end %>

<% @activities.each do |activity| %>
  <%= Date::DAYNAMES[activity.day.to_i] %>
<% end %>

解决方法

Ruby的 Date类已经有一个常量定义,它保存数组中的日期名称:Date :: DAYNAMES.

例如,您可以执行以下操作:

days = []
Date::DAYNAMES.each_with_index { |x,i| days << [x,i] }

我不知道我是否会说这更好,但你可以肯定地利用你已经可以使用的东西.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读