2012-08-20 6 views
0

J'ai mes messages générant un: key_code une fois créé. Je veux qu'un utilisateur puisse utiliser ce code dans un champ de formulaire pour détruire le post qu'ils ont fait, sans être connecté. Ma difficulté est avec form_tag ... comment pourrais-je faire une vue form_tag pour vérifier le: key_code entré avec le un stocké dans la base de données? J'ai du mal à comprendre form_tag.Rails 3: form_tag pour vérifier le code

Mon parcours ressemble à ceci:

get 'posts/:id/code' => 'posts#code', :as => :code 

Toute aide est très appréciée

Répondre

1

Si je comprends bien, votre itinéraire est erroné que vous avez besoin d'un param dynamique code, vous devez donc utiliser :code au lieu de simplement code:

get 'posts/:id/:code' => 'posts#code', :as => :code 

pour générer une URL pour cet itinéraire dans form_tag ans u usage:

form_tag code_path(@post, :code => @post.key_code) 
+0

Merci de répondre. On dirait que c'est une grande partie du problème. Que feriez-vous à propos du code du contrôleur nécessaire? Stockez-le dans cette méthode «code» dans le contrôleur posts? En outre, avez-vous de bonnes ressources qui vous ont aidé à comprendre toutes ces conventions que vous avez utilisées? – jbearden

+0

Je ne sais pas si je ne peux pas pointer vers des ressources spécifiques. En ce qui concerne le contrôleur: Je ne créerais pas une action 'code' séparée puisque vous avez déjà une méthode' destroy', mais je changerais la façon dont l'autorisation utilisateur fonctionne pour l'action 'destroy' afin de permettre l'authentification par' params [: code] ' . Vous pouvez donc détruire les messages avec l'URL habituelle avec le code param: 'DELETE/posts/1? Code = xxx' –

Questions connexes