Je dois utiliser Rails pour le boulot, mais étant donné que je ne
connaissais pas du tout ce framework il y a quelques jours, j’ai du me
former tout seul à partir de tutos trouvés sur le net.
Maintenant quand je sais un peu le manipuler, il me faut rentrer dans
le vif du sujet : je dois non plus l’utiliser pour créer une base de
données, mais l’utiliser pour faire interface avec une base de données
déjà existante.
Je me suis donc dit qu’il suffirait de paramétrer le fichier
database.yml avec les propriétés de la BD qui existe déjà, de générer
les scaffold correspondant aux tables de la BD et que tout irait
bien !
Mais non … (‘Mrelation “alias” already exists’ en faisant un rake:db
migrate après un script/generate scaffold alia)
Sans parler du fait que quasiment toutes mes tables se terminent par
un ‘e’ et non un ‘s’ et que Rails génère les tables au pluriel…
Sinon je te conseille de ne pas utiliser le scaffold, mais juste générer
tes contrôleurs et modèles.
Merci pour ta réponse, mais ça marche pas :s
J’ai donc fait :
ruby script/generate model correspondant
ruby script/generate controller correspondant
J’ai mis set_table_name “correspondant” dans le fichier
correspondant.rb
ruby script/server
Et lorsque j’essaye d’accéder à 127.0.0.1:3000/correspondant, il me
dit :
Unknown action
No action responded to index
Je pense que c’est parce que les pages views n’existent pas …
Non ?
faut créer une méthode index et la vue qui va avec, mais bon c’est la base de rails ça lis les docs
J’ai cherché ça toute la journée hier >_<
Sans rien trouver
Nimporte quel tuto sur le net, je dirais pas ça quand même. Mais c’est
sur qu’en faisant l’appli de démo du bouquin “ruby on rails” de chez
eyrolles, tu comprendrais mieux les erreurs que tu nous cite.
Pour résoudre rapidement ton problème, je te dirais de tenter à nouveau
le scaffold, en corrigeant les modèles générés pour prendre en compte
tes “table names” et “primary key”.
N’oublie pas de supprimer tout ce que tu as pu généré auparavant, en
utilisant script/destroy, ou bien à la main, ou bien en repartant d’un
projet rails vierge.
Maintenant, si tu dois utiliser une base de données pré-existante, il y a
aussi la possibilité de migrer ta base de données vers une base équivalente
mais respectant les conventions.
J’ai pas le choix, je dois bosser sur une BD déjà existante, pour le
boulot…
Oui, mais j’ai beau essayer plein de trucs, je n’arrive pas à faire
fonctionner l’application correctement…
En plus, je n’avais jamais vu une ligne de Ruby avant (je sors de
première année de DUT informatique), donc ajouté au fait que Rails est
complexe et compliqué, je suis perdu !
Guillaume B.> On ne me laisse pas vraiment le choix…
Je te comprends, t’es pas vraiment dans la configuration idéale (-:
Cela dit, il est de ton ressort de tirer des alarmes dès que tu le
peux. Je ne sais pas si tu as des dead lines précises, mais n’hésite
pas à dire dès maintenant “apprendre RoR sur un cas particulier c’est
pas adapté, il me faudra plus de temps que prévu”. Ca fait partie de
ton (futur) métier !
Guillaume B.> On ne me laisse pas vraiment le choix…
Fabien J.> J’ai en effet commencé comme ça, en créant une base
avec Rails (rails test, script/generate scaffold…) mais j’ai vite
été limité quand même (je n’ai pas réussi à faire en sorte qu’une
personne possède une voiture, personne et voiture étant deux classes
que j’ai développé moi-même) car la quasi totalité des tutoriels que
l’on trouve sur le net traitent de Rails 1, et on me demande de bosser
sur Rails 2…
Michel B.> Tu as tout juste sauf que… Je ne suis même pas
jeune dipômé (le DUT Informatique se déroule en deux ans)
Pour ce qui est du bouquin, ce serait pas sérieux
Oui, mais j’ai beau essayer plein de trucs, je n’arrive pas à faire
fonctionner l’application correctement…
En plus, je n’avais jamais vu une ligne de Ruby avant (je sors de
première année de DUT informatique), donc ajouté au fait que Rails est
complexe et compliqué, je suis perdu !
Si tu as un peu de temps, tu peux regarder les screencasts gratuits de
Ryan B. http://railscasts.com/
avantage : les derniers traitent de Rails 2.0 et 2.1
inconvénient : ils ne traitent que des sujets spécifiques
Zambra> Est-ce à moi d’acheter ces bouquins ?
Non.
Cela dit, si RoR t’interresse et que tu penses t’en resservir, un
investissement perso est toujours possible.
L’entreprise dans laquelle je bosse devait me financer une formation
(faite par une entreprise professionnelle) de quelques jours à mon
arrivée, mais je n’ai eu droit à rien du tout…
Bin ce que tu peux faire, c’est prendre ces qques jours, et
t’autoformer. Ce sera gratos pour ta boite, mais plus long et moins
efficace. En tous cas ce sera toujours mieux que de rester bloquer à
chaque nouvelle
difficulté.
Et puis le sujet de cette auto-formation est tout trouvé : réaliser une
maquette de l’application, en créant la BdD !
Une fois ceci fait, tu auras déjà une bien meilleure idée de RoR, des
difficultés, du temps qu’il te faudra etc… Et à son retour de
vacances, tu auras déjà qqchose à présenter !