J'utilise le http://guides.rubyonrails.org/getting_started.html comme exemple pour m'aider à créer ma propre application. Je crée le blog et les modules de commentaires très bien. Lorsque j'ajoute une méthode aux commentaires ou aux contrôleurs de blog je ne peux pas obtenir une action link_to pour travailler en appelant la nouvelle fonction. Tout indique un problème dans les routes.rb mais j'ai essayé toute la nouvelle syntaxe que j'ai vue et rien ne fonctionne pour moi. Ce que j'essaie de faire est de créer une méthode d'exécution simple dans le contrôleur pour exécuter un script ruby et enregistrer la sortie dans la base de données. Tout fonctionne selon le tutoriel, mais quand j'essaie d'étendre le contrôleur de commentaire avec une fonction personnalisée appelée exécuter, je ne peux pas le faire fonctionner.Rails 3 comment ajouter une méthode personnalisée au contrôleur
comments_controller.rb #Same as destroy
def execute
@post = Post.find(params[:post_id])
@comment = @post.comments.find(params[:id])
@comment.destroy
redirect_to post_path(@post)
end
_comment.html.erb
<%= link_to 'Execute Comment', [comment.post, comment],
:method => :execute %>
routes.rb
resources :posts do
resources :comments do
get :execute, :on => :member
end
end
rake routes |grep execute
execute_post_comment GET /posts/:post_id/comments/:id/execute(.:format) {:action=>"execute", :controller=>"comments"}
Error when I click Execute comment link:
No route matches "/posts/3/comments/6"
Merci, j'ai regardé les rails et j'ai beaucoup appris. J'ai été en mesure d'obtenir une nouvelle fonction pour travailler avec le contrôleur Post, mais je n'ai toujours pas réussi à l'exécuter avec le contrôleur de commentaires. J'ai mis à jour la question pour inclure le code que j'utilise. –
Cela a fonctionné, merci beaucoup! Votre génial. –
Excellent lien aussi! Cela a vraiment aidé tout à l'heure! – earlonrails