2012-09-24 66 views
1

我已經使用Ruby的Date :: DAYNAMES函數使用複選框將我的日子保存在字符串中。在Ruby on Rails中獲取字符串的日期名稱

- 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] 

有人可以告訴我如何獲得每個選定的日期名稱請。

回答

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"]