Nous sommes actuellement en train de mettre à jour notre version rails et j'ai rencontré une erreur bizarre dans l'un de mes tags date_select.tag date_select lors de la mise à niveau de 2.1.2 à 2.3.8
Voici le coupable:
<%= date_select :consultant_assignment, :start_date, :order => [:day, :month, :year],
:start_year => 5.years.ago.year, :end_year => 5.years.from_now.year, :use_short_month => true %>
Cela jette une erreur comme ceci:
NoMethodError
dans les profils # montrent
Affichage app/views/personnes/_upcoming_assignments.html.erb où ligne # 46 soulevée:
Vous avez un objet nul quand vous ne l'attendiez pas! Vous avez peut-être attendu une instance de Array. L'erreur est survenue lors de l'évaluation nil.size
source décompressée (autour de la ligne n ° 46):
43: <label for="consultant_assignment_start_date"><%= _('Start') %>:</label>
44: <% debugger %>
45:
46: <%= date_select :consultant_assignment, :start_date, :order => [:day, :month, :year], :start_year => 5.years.ago.year, :end_year => 5.years.from_now.year, :use_short_month => true %>
47:
48:
49:
J'ai essayé de retracer ce problème et il semble que l'erreur est générée quand je mets dans: option month dans le tableau: order. Donc quand je fais: commande => [: jour,: année] la page se charge parfaitement.
J'ai cherché le problème exact mais étant plus d'un frontal, je ne suis pas sûr comment procéder avec ceci. Est-ce une erreur de mon code? Ou est-ce une méthode obsolète?
Voici le application trace
:
/opt/local/lib/ruby/gems/1.8/gems/actionpack-2.3.8/lib/action_view/helpers/date_helper.rb:746:in `_unmemoized_month_names'
/opt/local/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/memoizable.rb:72:in `month_names'
/opt/local/lib/ruby/gems/1.8/gems/actionpack-2.3.8/lib/action_view/helpers/date_helper.rb:781:in `month_name'
/opt/local/lib/ruby/gems/1.8/gems/actionpack-2.3.8/lib/action_view/helpers/date_helper.rb:708:in `select_month'
/opt/local/lib/ruby/gems/1.8/gems/actionpack-2.3.8/lib/action_view/helpers/date_helper.rb:705:in `upto'
/opt/local/lib/ruby/gems/1.8/gems/actionpack-2.3.8/lib/action_view/helpers/date_helper.rb:705:in `select_month'
/opt/local/lib/ruby/gems/1.8/gems/actionpack-2.3.8/lib/action_view/helpers/date_helper.rb:898:in `send'
/opt/local/lib/ruby/gems/1.8/gems/actionpack-2.3.8/lib/action_view/helpers/date_helper.rb:898:in `build_selects_from_types'
/opt/local/lib/ruby/gems/1.8/gems/actionpack-2.3.8/lib/action_view/helpers/date_helper.rb:896:in `each'
/opt/local/lib/ruby/gems/1.8/gems/actionpack-2.3.8/lib/action_view/helpers/date_helper.rb:896:in `build_selects_from_types'
/opt/local/lib/ruby/gems/1.8/gems/actionpack-2.3.8/lib/action_view/helpers/date_helper.rb:646:in `select_date'
/opt/local/lib/ruby/gems/1.8/gems/actionpack-2.3.8/lib/action_view/helpers/date_helper.rb:920:in `to_date_select_tag_without_error_wrapping'
Je googled sur les noms unmemoized mois, mais je l'ai trouvé nada. Bon, j'ai essayé de supprimer l'ensemble de la clause de commande pour que ça marche. Cette fois, il ne lance pas d'erreur mais le tag n'apparaît pas! J'ai essayé de vérifier dans irb et apparemment mon tag date_select ne renvoie pas de balises de sélection, mais juste un tas de balises cachées!
J'ai essayé avec les rails par défaut exemple:
date_select("post", "written_on")
retours RIR ceci:
=> "\ n \ n \ n"
comme vous pouvez le voir, aucune balise select nulle part. J'ai essayé datetime_select et je vois une étiquette de sélection là. Alors, quel est le problème avec date_select 2.3.8?
Fonctionne pour moi.pas votre date de la base de données wheather est correct ou pas aussi ref http://api.rubyonrails.org/classes/ActionView/Helpers/DateHelper.html#M002264 – Salil
J'ai essayé de regarder ceci et encore sans résultat J'ai essayé de regarder la nouvelle chose i18n des rails et fait un config/locale/en.yml et config/initializers/locale.yml et je reçois toujours la même erreur – corroded