Lista wyświetlania dni w tygodniu w Rails przy użyciu Data :: DAYNAMES

głosy
9

Mam problemy z wyświetlania listy dni w tygodniu w formie.

<%= form_for [@hourable, @hour] do |f| %>

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

  <% days.each_with_index do |day,index| %>

  <div class=field>
    <%= f.check_box day[0] %>
  </div>

  <% end %>   

  <div class=actions>
    <%= f.submit %>
  </div>
<% end %>

Dostaję błąd

undefined method `Sunday' for #<Hour:0x007fe13c764010>

Ale jeśli tylko wyświetlanie

<%= day[0] %>, To daje mi listę Sunday, Monday, Tuesday, etc... to Saturday

Co robię źle tutaj?

Dzięki

Utwórz 26/06/2013 o 02:21
użytkownik
W innych językach...                            


2 odpowiedzi

głosy
17

Zastąpić

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

<% days.each_with_index do |day,index| %>

<div class="field">
 <%= f.check_box day[0] %>
</div>

Z

 <%= f.label :FIELD_NAME%>
<% Date::DAYNAMES.each do |day| %>
  <%= f.check_box :FIELD_NAME, {}, day %>
  <%= day %>
<% end %>
Odpowiedział 26/06/2013 o 02:28
źródło użytkownik

głosy
2

Chodzi tu dzwoni each_with_indexna days, ponieważ daysjest tablicą tablic sposób skonstruowano go masz, gdzie każdy element ma postać [dayname, index].

Zamiast budowania daysmożna odpracować na DAYNAMEStablicy bezpośrednio lub wymienić days.each_with_indexz tylko days.each do |x, i|(ale osobiście myślę, że to obcy).

Patrz także http://api.rubyonrails.org/classes/ActionView/Helpers/DateHelper.html#method-i-select_day i Rails non-table rozwijanej listy , jeśli nie jesteś przywiązany do wyboru.

Odpowiedział 26/06/2013 o 02:28
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more