JeuWeb - Crée ton jeu par navigateur
Problème avec Authlogic - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Problème avec Authlogic (/showthread.php?tid=5123)



Problème avec Authlogic - nicodd - 28-08-2010

Bonjour à tous,

Je me suis mis dernièrement à Ruby on Rails (sous windows), et je trouve ça vraiment sympa.

J'ai lu certains guides, regardé des railscasts qui m'intéressaient, et je commence à bien visualiser comment pouvoir faire ce que je veux.

J'ai également lu le pas à pas de Sephi-Chan. J'ai donc commencé mon projet par la mise en place d'une authentification basée sur authlogic. Comme j'avais commencé avant de lire le tuto, j'avais simplement utilisé
Code :
gem 'authlogic'
Mais j'ai eu des problèmes, et ça m'a mené à la solution, d'utiliser plutôt :
Code :
gem 'authlogic', :git => 'git://github.com/odorcicd/authlogic.git', :branch => 'rails3'
J'ai installé git avec msysgit, mais lorsque je veux faire le 'bundle install', ca plante avec l'erreur suivante :
Code :
Updating git://github.com/odorcicd/authlogic.git
Le format du paramètre est incorrect - active :.
An error has occurred in git when running `git fetch --force --quiet "git://github.com/odorcicd/authlogic.git" refs/heads/*:refs/heads/*. Cannot complete bundling.
Je cherche depuis hier, mais je ne trouve rien d'intéressant sur le sujet, donc je viens solliciter votre aide.

Mes pistes actuellement :
- Est ce que c'est possible qu'il y aie un conflit puisque j'ai déja fait précédement gem install authlogic et si oui comment le régler ?
- Si je fait une copie locale du dépot git, est il possible de lui dire d'installer depuis cette copie locale au lieu de la version en ligne ?

Merci pour toute l'aide que vous pouvez m'apportez !


RE: Problème avec authlogic - Sephi-Chan - 28-08-2010

Quelle version de Rails utilises-tu ? La release candidate 2 (3.0.0.rc2) ? Si ce n'est pas le cas, je te conseille d'y passer (en changeant ton Gemfile en fonction). Bundler a pas mal évolué depuis la précédente RC . Smile

Pour Authlogic Je crois qu'il n'est plus nécessaire de spécifier la branche rails 3. Voici mon Gemfile (d'une application qui tourne bien).


source 'http://rubygems.org'

gem 'rails', '3.0.0.rc2'
gem 'rmagick'
gem 'nokogiri'
gem 'authlogic'
gem 'haml'
gem 'mysql'

Dans le doute, désinstalle l'existante et réinstalle-la (toujours via bundle install) sans mentionner de branche, et si ça ne fonctionne toujours pas, désinstalle-la de nouveau, spécifie la branche et relance l'installation.

Et si tout ça ne fonctionne pas, tu peux tenter l'installation sous forme de plugin (en retirant bien de ton Gemfile la référence à Authlogic)

Pense à relancer ton serveur lorsque tu testes (puisque les modules sont chargés au lancement du serveur).


rails plugin install git://github.com/binarylogic/authlogic.git


Sephi-Chan


RE: Problème avec authlogic - nicodd - 28-08-2010

Merci pour ta réponse.

Effectivement, j'étais encore sur la rc1, j'ai effectué la mise à jour vers la rc2, mais pas de changements significatifs pour mon soucis.

En fait, tant que git n'intervient pas dans l'affaire, tout se passe bien...
En utilisant comme tu as l'air de le faire
Code :
gem 'authlogic'
j'ai l'erreur suivante :

Code :
NoMethodError in Application#home

Showing C:/Users/Nicolas/Documents/Rails/Jeu/app/views/application/home.html.erb where line #9 raised:
undefined method `to_key' for #<UserSession: no credentials provided>


Extracted source (around line #9):
6:   </p>
7: <% end %>
8:
9: <%= form_for @user_session do |f| %>
10:   <p>
11:     <%= f.label :username %>
12:     <%= f.text_field :username %>


Rails.root: C:/Users/Nicolas/Documents/Rails/Jeu
Une recherche m'avait mené ici, et j'avais donc tenté sans succès d'installer ainsi cette gem.
Ce qui m'intrigue, c'est que tu n'as pas l'air d'avoir ce soucis...

Est ce qu'il y a moyen de spécifier un dossier sur mon ordinateur qui contient le code du dépot git et de lui dire de faire l'installation à partir de la, histoire de bypasser l'appel à git dans la ligne de commande qui à l'air de foirer ?

Merci !


RE: Problème avec authlogic - Sephi-Chan - 28-08-2010

Je crois que le problème avec la méthode to_key est lié au fait que ce soit la branche pour Rails 2. Il faut donc bien spécifier la branche. Je pense que ma version de la gem était installée au préalable. J'ai viré ma gem et j'ai modifié mon Gemfile :


gem 'rails', '3.0.0.rc2'
gem 'rmagick'
gem 'nokogiri'
gem 'authlogic', :git => 'git://github.com/odorcicd/authlogic.git', :branch => 'rails3'
gem 'haml'
gem 'mysql'

Après un petit bundle install, tout fonctionne impeccablement ! Un git fonctionnel est indispensable pour travailler avec Ruby (et par extension Rails) : que tu travailles avec des gems ou des plugins. D'ailleurs, quand ton installation sera pleinement satisfaisante, tu pourras si tu le souhaites la rapatrier au niveau de ton application avec la commande bundle package (qui copiera les gems de l'application dans vendor/cache/).

Mon conseil est donc de supprimer l'actuelle (ou les actuelles) gem Authlogic puis de laisser Bundler la réinstaller.


Sephi-Chan


RE: Problème avec Authlogic - Sephi-Chan - 28-08-2010

Un autre petit conseil pendant que j'y pense : mets à jour Bundler manuellement si besoin. Vérifie la version que tu as avec gem list (bundler (1.0.0.rc.6) à ce jour) et si ce n'est pas à jour :


gem uninstall bundler
gem install bundler --pre


Sephi-Chan