2010-10-14 24 views
0

Je ne suis pas sûr si je vais à ce sujet dans le bon sens ou non.Rails actions personnalisées

J'ai un modèle de voisinage. J'ai deux façons d'ajouter un quartier, l'un en tant qu'utilisateur connecté et l'autre en tant que personne publique. Les formes varient un peu. J'ai donc fait une autre vue avec une action personnalisée. Le problème est que cette action ajoute un nouvel enregistrement et appelle donc "créer". Quand il appelle l'action create, il cherche à rediriger vers un chemin qui ne peut pas exister sur le formulaire public. Soit je fais cela complètement faux, soit il y a un moyen de dire à mon action personnalisée de sauvegarder l'enregistrement de voisinage pour pouvoir le rediriger du côté public.

Répondre

0

Dans l'action create, redirect conditionnelle soit la page publique/privée en fonction du statut de l'utilisateur:

def create 
    # create code goes here 
    if current_user? 
    redirect_to neighborhoods_path 
    else 
    redirect_to root_path 
    end 
end 

Ou est-il quelque chose que je ne comprends pas de votre question?

+0

Merci beaucoup ryan c'est exactement les conseils supplémentaires que je avais besoin. j'apprécie. – looloobs

0

Je pense que vous économisez à la fois (utilisateurs publics et utilisateurs enregistrés), les détails du voisinage sont ajoutés aux mêmes détails. vous pourriez différer ceci en ayant un id d'utilisateur ou quelque chose

si c'est le cas, Comme je vois, vous pouvez utiliser le même contrôleur et l'action. Tout ce que vous avez à faire est

identifier l'utilisateur comme is_registred? (À condition que vous avez une méthode pour identifier si une utilisation est connecté ou non) et selon la configuration de la charge utilisateur ne

Ex:

pseudo-code serait

if is_registred? 
    render public layout 
else 
    render registerd user layout 

et vous pourriez avoir vérifier les autorisations aussi. J'espère bien compris votre question

acclamations

Sameera