… ou une occasion d’apprendre

Rails 1.2, quoi de neuf ?

Posté le 8 décembre 2006 à 18:24

Avec l’arrivée de cette nouvelle version de Ruby on Rails nous avons droit à notre lot de nouveautés, je ne vais pas reproduire le changelog ici mais voici les innovations majeurs de cette mouture, pour le détail, direction le site de développement.

ActiveRecord

  • Ajout de la possibilité de passer un Hash en paramètre à la méthode find pour l’option conditions. Chaque clef du Hash correspond à un attribut et ils sont joint par des AND.
  • Ajout de la méthode find_or_initialize_by_X qui complète find_or_create_by_X en retournant un nouvelle objet si la recherche ne donne pas de résultat mais sans le sauver.
  • Passé un record ou une liste de record à une conditions extrait directement les id.

  • Autorise niq => true avec une association has_many :through.
  • Il est maintenant possible d’ajouter un record à une association has_many :through avec les méthodes <<, push et concat en créant le record de jointure.
  • Ajout du support de delete à l’association has_many :through.
  • L’association has_one support le paramètre dependent avec les options destroy, delete, et nullify.
  • Il est possible d’obtenir un lock exclusif sur un enregistrement en utilisant le paramètre lock des méthodes de recherche ou avec la méthode lock! d’un record.

ActionPack

  • Il est maintenant possible d’accéder aux attributs avec RJS.

  • Les formulaires fonctionnement comme des blocks (et non plus avec end_form_tag).
  • Ajout des mois et années à la méthode distance_of_time_in_words.
  • En cas d’erreur le fichier 500.html est rendu par défaut.
  • Il est possible d’exclure certaine extensions du rendu avec layout.
  • RESTful tient compte automatiquement de la valeur de params[:format] si il est spécifié.
  • Il est possible d’enregistrer de nouveaux MIME types pour une extension.
  • Ajout du filtrage de certains paramètres et attributs dans les logs avec filter_parameter_logging (password par exemple, ).
  • Le système de routage a été réécrit.
  • Dépréciation de certains méthodes, il faut maintenant utiliser les méthodes et non pas les variable de classe tel que @session ou @request.

ActiveSupport

  • Il est possible de faire en sorte qu’une constante soit réinitialisé après chaque requête avec Module#unloadable.
  • Avec Module#alias_attribute il est possible de créer des alias pour les attributs.
  • Enumerable#sum calcule une somme depuis un Array.
  • Array#to_s(:db) produit une liste séparé par des virgules.
  • Il est maintenant possible d’utiliser Module#alias_method_chain au lieu de deux fois Module#alias_method.
  • Division dûn Array avec split.
  • Création d’un Hash avec from_xml.

Articles relatifs





Envoyer une réponse

Ce site supporte OpenID, vous pouvez vous authentifier en entrant votre identité dans le champ adéquat mais ceci n'est pas obligatoire.

Si vous ne vous authentifiez pas avec OpenID le nom et l'email sont requis. Si vous vous authentifiez pour la première fois, les renseigner permet de vous assurer des informations qui seront associées à votre profile (si il existe déjà elles seront mises à jour).