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 に答える