1

我使用 Ruby 的 Date::DAYNAMES 函数通过复选框将我的日子保存在字符串中。

- Date::DAYNAMES.each_with_index do |day,index|
  = check_box_tag "promotion[days_#{index}]", index, false, :name => "promotion[days][]", :checked => (@promotion.days.include? index.to_s)
  = day

它给出了这样的字符串:

 "---\n- '0'\n- '1'\n- '4'\n"

在我看来,我尝试使用以下内容来显示日期名称,但无法获取所有日期名称。只有第一天。

 = Date::DAYNAMES[@promotion.days.to_i]

有人可以告诉我如何获取每个选定的日期名称吗?

4

1 回答 1

2

该字符串看起来像 yaml。在 irb 中试试这个:

require 'date'
require 'psych'

Psych.load("---\n- '0'\n- '1'\n- '4'\n").map { |i| Date::DAYNAMES[i.to_i] }

=> ["Sunday", "Monday", "Thursday"]
于 2012-09-24T15:29:23.697 回答