33 votes

Comment fonctionne ruby on rails?

Je suis un développeur PHP qui sait un peu de Ruby. Je veux apprendre Ruby on Rails, mais la plupart des ressources que j'ai rencontré traiter RoR fonctionnalité "magic" -- c'est à dire, il a une certaine cohérence interne, mais ne pas la peine de demander comment cela fonctionne en termes de Ruby, MySQL, etc.

De toute façon, je veux une compréhension profonde de la façon dont RoR œuvres, les décisions de conception qui entrèrent dans le bâtiment, etc. En particulier, je suis intéressé par ActiveRecord, mais vraiment, je suis à la recherche pour l'ensemble du paquet.

Tous les livres / sites / conseils de bienvenue.

22voto

DA. Points 500

Les livres "Agile de Développement Web avec des Rails" et "Les Rails de Chemin" sont à la fois très bon. "Pro Active Record" va vraiment en profondeur pour l'Enregistrement Actif, mais ne la touche pas trop d'autre. Le podcast de Railscasts parfois juste utilise la magie, mais parfois, il explique ce qui se passe vraiment. Différents blogs tels que l'Art de la Mission peut entrer dans ce que vous cherchez.

En outre, à l'aide de ruby-debug gem vous donne une bien meilleure compréhension de ce qui se passe, vous pouvez entrer dans ce qui se passe derrière les coulisses.

13voto

Milan Novota Points 10892

Il y a deux domaines qui peuvent être examinées séparément:

  1. Concepts généraux (qui incluent des modèles de conception, l'attitude générale des principes, comme la sécheresse et de la CoC ou même de l'agilité, etc.) car ils sont les principes qui sous-tendent de nombreuses décisions de conception dans les Rails. Aucun de ces concepts ne peut être étudié indépendamment de Rails (puisqu'ils sont en général les concepts de la programmation). Il est bon d'avoir au moins une certaine compréhension de ces avant de creuser plus profondément. Il existe de nombreuses sources sur ces principes généraux, tous sur le net (précitée Martin Fowler site est l'une des meilleures sources pour saisir ces concepts).

  2. Le chemin des Rails met en œuvre ces concepts dans son corpus. Il y a encore deux choses à avoir à l'esprit ici. Depuis Rails fortement exploite les caractéristiques de sa langue maternelle, il est crucial de comprendre Ruby particularités (comme mixin et beaucoup de Ruby sont des éléments dynamiques). La dernière chose à comprendre, c'est comment les Rails utilise ces fonctionnalités, c'est à dire. comment il est décomposé en classes et modules, la plupart de ses fonctions sont créées dynamiquement sur la course et ainsi de suite. Pour cela, je recommande fortement ce livre Ruby pour les Rails de David A. Noire (ce qui est exactement à propos de Ruby, de ses particularités et de la façon dont les Rails utilise). Bien que ce livre peut être un peu en dehors de la date, je pense que c'est toujours précieux dans son contenu.

9voto

Ken Liu Points 7779

Si vous voulez vraiment savoir comment il fonctionne, vous pouvez juste regarder le code source. L' API en ligne docs qui vous permettra de voir le code source de chaque méthode à droite dans la page documentation.

ActiveRecord dans les Rails est basé sur Martin Fowler modèle d'Enregistrement Active. En gros, c'est un ORM (object-relational mapper). Il n'est même pas vraiment sophistiquée autant que Orm aller. Persistance Java avec Hibernate a une bonne vue d'ensemble de la commune ORM concepts.

7voto

user29697 Points 79

Celui-ci pourrait également convenir ici -> http://railsforphp.com/

5voto

Lucas Oman Points 9027

C'est une sorte de tangentielle réponse à votre question, mais j'ai, aussi, est venu de développement PHP sur Ruby/Rails de dev, et il était d'une grande transition pour moi. Comme PHP devs, nous avons l'habitude d'entrer dans les détails, de parler, et de ne pas être empêché de regarder sous le capot.

De par leur conception, les Rails est une boîte noire. Vous êtes censé apprendre Rails, presque comme une langue elle-même. C'est une nouvelle façon de penser le web dev, en particulier à partir de PHP dev perspective, même si cette idée n'est pas rare de la programmation en général.

Ne pas prendre la peine de regarder sous le capot peut être la meilleure façon de commencer à faire des choses "les Rails de chemin."

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X