Η λίστα ανάδειξης των ημερών σε μια εβδομάδα σε ράγες χρησιμοποιώντας Ημερομηνία :: DAYNAMES

ψήφοι
9

Αντιμετωπίζω πρόβλημα εμφανίζοντας μια λίστα των ημερών σε μια εβδομάδα σε μια μορφή.

<%= 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 %>

Παίρνω το σφάλμα

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

Αλλά αν εγώ απλά εμφανίζουν

<%= day[0] %>, Θα μου δώσει μια λίστα Sunday, Monday, Tuesday, etc... to Saturday

Τι κάνω λάθος εδώ;

Ευχαριστώ

Δημοσιεύθηκε 26/06/2013 στις 02:21
χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
17

Αντικαθιστώ

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

Με

 <%= f.label :FIELD_NAME%>
<% Date::DAYNAMES.each do |day| %>
  <%= f.check_box :FIELD_NAME, {}, day %>
  <%= day %>
<% end %>
Απαντήθηκε 26/06/2013 στις 02:28
πηγή χρήστη

ψήφοι
2

Το θέμα εδώ είναι καλώντας each_with_indexσε days, δεδομένου ότι daysείναι μια σειρά από πίνακες με τον τρόπο που έχετε να κατασκευαστεί, όπου κάθε στοιχείο έχει τη μορφή [dayname, index].

Αντί της δημιουργίας days, μπορείτε να εργαστείτε μακριά από την DAYNAMESσειρά άμεσα, ή να αντικαταστήσετε days.each_with_indexμε ένα μόνο days.each do |x, i|(αλλά προσωπικά πιστεύω ότι αυτό είναι άσχετο).

Επίσης, δείτε http://api.rubyonrails.org/classes/ActionView/Helpers/DateHelper.html#method-i-select_day και Ράγες μη τραπέζι αναπτυσσόμενη λίστα αν δεν συνδέεται με πλαίσια ελέγχου.

Απαντήθηκε 26/06/2013 στις 02:28
πηγή χρήστη

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