Bonjour,
Je fait un clone de twitter pas avec les même design mais le même principe c'est juste pour m'améliorer sauf que pour que les gens ce créer un compte j'ai un problème
Je veux que au début du site il y ai un bouton s'enregistrer que l'on clique ça nous ouvre une nouvelle page avec le formulaire d'inscription pour faire l'enregistrement j'ai suivit le model de la connection
Ma fonction register dans mon controller
def register
@pseudo_use = User.where(pseudo: params[:pseudo])
if User.where(pseudo: params[:pseudo]).first
flash[:error] = "Le pseudonyme et déjà pris"
redirect_to "/users/register"
else
User.create(pseudo: params[:pseudo], password: params[:password], role: "utilisateur")
flash[:info] = "Vous ête bien enregistrer. Merci de bien vouloir vous connecter"
redirect_to "/"
end
end
Mon html du register
<div class="row">
<div class="col s12">
<h1>S'enregistrer</h1>
</div>
</div>
<%= form_tag "/users/register", method: "post" do %>
<div class="row">
<div class="input-field col s6">
<input type="text" name="pseudo">
<label for="pseudo">Pseudonyme</label>
</div>
<div class="input-field col s6">
<input type="password" name="password">
<label for="password">Mot de passe</label>
</div>
<div class="col s8">
<button class="btn waves-effect waves-light" type="submit">S'enregistrer
<i class="material-icons right">send</i>
</button>
</div>
<div class="col s4">
<h6>Déjà un compte ? <a href="/users/login">connectez-vous</a></h6>
</div>
</div>
<% end %>
J'obtien pas d'erreur c'est déjà assez cool :) mais quand je clique sur le boutton s'enregistrer il ne vas pas sur la page il s'enregistre direct avec les params nil donc je voudrais savoir comment faire pour qu'il m'affiche la page pour modifier les params grâce a mon jolie tableau :)
PS : J'utilise materialize css
Merci d'avance pour votre aide
Je m'y connais pas plus que ça en Ruby, mais de ce que je comprends, tu vérifies s'il n'y a pas de clef nil dans params.
Après une micro rechercher, je suis tombé sur ce cas :
if (params.has_key?(:pseudo) && params.has_key?(:password))
if User.where(pseudo: params[:pseudo]).first
flash[:error] = "Le pseudonyme et déjà pris"
redirect_to "/users/register"
else
User.create(pseudo: params[:pseudo], password: params[:password], role: "utilisateur")
flash[:info] = "Vous ête bien enregistrer. Merci de bien vouloir vous connecter"
redirect_to "/"
end
end
Ou encore
if !params.empty?
if User.where(pseudo: params[:pseudo]).first
flash[:error] = "Le pseudonyme et déjà pris"
redirect_to "/users/register"
else
User.create(pseudo: params[:pseudo], password: params[:password], role: "utilisateur")
flash[:info] = "Vous ête bien enregistrer. Merci de bien vouloir vous connecter"
redirect_to "/"
end
end
"Vous ête bien enregistrer. Merci de bien vouloir vous connecter"
try again
bon OK; je sais l'orthographe c'est dépassé, SMS toussa ...
mais quand même :(
Je suis désoler mais je vérifi mon orthographe que si c'est des projet sérieux et cela ne répond pas à ma question ;)
PS: toussa s'écrit en réaliter tous ça :p
Bien évidement mon message n'a rien de méchant j'ai un humour juste pas comme les autre ;)
Salut mais quesque je suis bête défois c'est totalement logique et j'y ai pas pensée :/ merci bien :)
Ca arrive à tout le monde.
Oublie pas de passer le poste en résolu si ton problème est réglé.
J'ai beau lui faire une condition comme quoi les params son nul mais il veux toujours pas ça fait la même chose j'ai l'impression que mon site s'en fou de ma condition la condition je lui ai dit si params est different de nul alors tu execute le code sauf que même si params est nul il execute le code
Je met mon code car j'ai du me tromper :p
if !params[:nil]
if User.where(pseudo: params[:pseudo]).first
flash[:error] = "Le pseudonyme et déjà pris"
redirect_to "/users/register"
else
User.create(pseudo: params[:pseudo], password: params[:password], role: "utilisateur")
flash[:info] = "Vous ête bien enregistrer. Merci de bien vouloir vous connecter"
redirect_to "/"
end
end