Lorsque je clique sur le lien de suppression que j'ai créé, il ne fait rien (même la partie flash [: notice]) dans le contrôleur. Est-ce que je n'appelle pas le .delete? partie correctement? La partie POST fonctionne comme je peux ajouter des conseils.Problème avec Delete Link?
Lien:
<%= link_to "Delete", :controller => "/admin", :action => "tips", :id => t.id, :method => :delete, :confirm => "Are you sure?" %>
Controller Admin
def tips
@tips = Tip.all
if request.post?
tip = Tip.new(params[:geek_tips])
if tip.save
flash[:notice] = "Saved!"
redirect_to :action => "tips"
else
flash[:notice] = "Error!"
end
elsif request.delete?
tip = Tip.find_by_id(params[:id])
tip.delete!
flash[:notice] = "Delete Message"
redirect_to :action => "tips"
end
end
Votre idée semblerait créer tout un tas de contrôleurs pour chaque modèle qui a un CRUD. Qu'est-ce que le «problème de conception» auquel vous faites référence qui rend votre suggestion meilleure? – Kevin
Oui, exactement. Je ne l'appellerais pas mon idée. C'est le modèle que Rails supporte. Il y a des exceptions, mais généralement vous voulez avoir un contrôleur et des vues qui correspondent à chacun de vos modèles. Tout d'abord, il s'agit de la convention Rails, ce qui vous facilitera la vie en ce qui concerne les routes et les URL. Les raisons de l'approche MVC en premier lieu sont nombreuses - traitant de la complexité (par exemple, plusieurs contrôleurs simples mieux qu'un géant), de la maintenabilité, de la lisibilité ... trop nombreux pour mettre dans ce commentaire, mais il y a beaucoup de littérature sur MVC. – Greg
Les bretelles ont-elles permis de résoudre votre problème? – Greg