web-dev-qa-db-fra.com

Concevoir avec Rails 4

L'équipe derrière Devise a annoncé via blogpost http://blog.plataformatec.com.br/2013/05/devise-and-Rails-4/ qu'elle publiait une version compatible avec Rails 4, en l'appelant '3.0 rc'. Dans le même article de blog, il a également déclaré qu'il publie Devise 2.2.4.

J'essaie de créer une application Rails 4. quand j'ai fait gem install Devise, il a installé 2.2.4, pas la version compatible avec Rails 4.

Fetching: devise-2.2.4.gem (100%) 

Ce que je suppose des commentaires dans le blog sur les paramètres forts ne sera pas compatible avec Rails 4.

J'ai regardé la page github de Devise mais je ne sais pas comment installer la version compatible avec Rails 4. Pouvez-vous m'aider?

https://github.com/plataformatec/devise

Remarque, j'ai essayé

gem install devise --version 3.0.0.rc1

mais ça disait

ERROR:  Could not find a valid gem 'devise' (= 3.0.0.rc1) in any repository
ERROR:  Possible alternatives: devise
30

Devise est maintenant compatible avec Rails 4 hors de la boîte au moment de cette réponse.

Notre objectif final est de permettre aux utilisateurs de s'inscrire, de se connecter et de se déconnecter du site Web. Nous allons également créer une petite vue partielle nous indiquant si nous sommes connectés ou déconnectés.


Installez le bijou Devise.

Ouvrez votre Gemfile et installez la gemme Devise.

gem 'devise'

Ensuite, dans votre terminal, exécutez le bundle install commande pour installer la gemme.

$ bundle install

Exécutez des générateurs Devise pour configurer les configurations initiales.

Exécutez cette commande depuis votre terminal:

Rails generate devise:install

Ce générateur installe l'initialiseur qui configure tous les paramètres disponibles de Devise.

Générez votre modèle d'utilisateur.

Ensuite, nous devons générer notre modèle d'utilisateur. Je vais le nommer User mais vous pouvez le nommer comme bon vous semble, il suffit de remplacer User par Whatever.

Rails generate devise User
rake db:migrate

Configurez votre option d'URL par défaut pour Development.rb

À l'intérieur de config/environments/development.rb, définissez l'URL par défaut d'Action Mailer sur localhost:

config.action_mailer.default_url_options = { :Host => 'localhost:3000' }

Assurez-vous d'avoir un itinéraire racine déclaré dans Routes.rb

Vous devez vous assurer que routes.rb a une route racine par défaut - si vous n'en avez pas, définissez-la!

root to: 'home#index'

Créez une vue partielle pour voir si nous sommes connectés ou non.

À l'intérieur de votre views/layouts dossier créer un fichier nommé _user_widget.html.erb et copiez ce code dans:

<% if user_signed_in? %>
  <p>Welcome <%= current_user.email %></p>
  <%= link_to 'Logged In [click to logout]', destroy_user_session_path, :method => :delete %>
<% else %>
  <p>You are not signed in.</p>
  <%= link_to 'Login', new_user_session_path %>
<% end %>

Et invoquez-le dans votre mise en page (views/layouts/application.html.erb):

<!DOCTYPE html>
  <html>
  <head>
    <title>FacebookAuthTest</title>
    <%= stylesheet_link_tag    "application", media: "all" %>
    <%= javascript_include_tag "application" %>
    <%= csrf_meta_tags %>
  </head>
  <body>

  <p class="notice"><%= notice %></p>
  <p class="alert"><%= alert %></p>

  <%= yield %>

  <%= render 'layouts/user_widget' %>

</body>
</html>

Assurez-vous d'arrêter et de redémarrer le serveur sinon vous trouverez toutes sortes de bugs désagréables! Il est toujours préférable de redémarrer votre serveur local lorsque vous mettez à jour votre gemfile ou changez quoi que ce soit dans le fichier de configuration de l'environnement.

Avec tout cela en place, vous devriez pouvoir vous inscrire, vous connecter et vous déconnecter de votre propre site Web Rails.

Si vous avez des questions, n'hésitez pas à laisser un commentaire ci-dessous et je vais essayer de vous aider.

92
sergserg

MISE À JOUR 17 SEPTEMBRE 2013 : La branche principale est maintenant compatible avec Rails 4. Pas besoin de chercher une autre version .

En regardant le github repo , on dirait que vous voulez la version 3.0.0.rc (n ° 1). Vous voudrez donc

gem install devise --version "3.0.0.rc"

ou, dans votre gemfile:

gem 'devise', '3.0.0.rc'
30
Zaid Crouch

Cela l'a installé

gem install devise --pre

ou

devise-3.0.0.rc.gem
3

À ce stade, cette version du joyau est ce que vous souhaitez utiliser

gem 'devise', '3.0.0'
2
Dhaulagiri

Maintenant que la version 3.0 est stable, vous pouvez simplement faire:

gem install devise

ou dans votre Gemfile:

gem 'devise'
1
Spone

bijou 'devise', github: 'plataformatec/devise', branche: 'Rails4'

1
Kirsty Williams