数据库

时间:2017-03-14 06:52:34

标签: ruby-on-rails ruby-on-rails-4 logic days

我想使用多个复选框选项在Rails中实现一个功能。用户必须能够选择他想要电子邮件的日期,例如星期一,星期二等。这必须是一个复选框列表,其中包含日期名称作为标签和日期索引,例如0表示星期日,1表示星期一,就像那样。 / p>

当用户下次来这里编辑时,也必须检查这些字段。 我不想为每天创建单独的数据库字段。这可以是存储在一个数据库字段中的日期索引数组。我正在使用Rails版本4。

Date::DAYNAMES会提供工作日列表。 Date::DAYNAMES.each_with_index将提供带有索引的天数列表。我想知道实现相同的最佳方法。

1 个答案:

答案 0 :(得分:4)

试试这个,

<%=select_tag 'days[]', options_for_select(Date::DAYNAMES.zip((0..6).to_a), 
[selected days array goes here]
), :multiple => true%>

使用复选框

<ul>
  <% Date::DAYNAMES.zip((0..6).to_a).each do |day| %>
      <li>
        <%= check_box_tag 'days[]', day[1], [selected days array].include?(day[1]) -%>
        <%= h day[0] -%>
      </li>
  <% end %>
</ul>

希望它能为你提供帮助。