Witam,
Z filmiku, gdzie koles projektuje bloga w 15 min jest jeden kontroler Article, ma 2 modele article i komment.
Gdy tworzy nowy komentarz ma tak
metode - admin_controller.rb
def comment
Article.find(params[:id]).comments.create(params[:comment])
flash[:notice] = “Dodano twój komentarz.”
redirect_to :action => “show”, :id => params[:id]
end
oraz w widoku - show.rhtml
<%= form_tag :action => “comment”, :id => @article %>
<%= text_area “comment”, “description”, :rows => 10, :cols => 65 %>
<%= submit_tag “Dodaj komentarz!” %>
Teraz pytanie brzmi czy moge uzywac controllera (‘article’), aby przykladowo usunac jakis wybrany komentarz?
Probowalem dodac metode podobna do tej powyzej, ktora dziala
def delete_comment
Article.find(params[:id]).comments.delete(params[:comment])
redirect_to :action => ‘show’
end
a w widoku cos takiego:
<%= link_to ‘Usuń’, { :action => ‘delete_comment’, :id => comment }, :confirm => ‘Czy na pewno chcesz usunąć ten komentarz?’, :method => :delete %>
(tutaj probowalem roznych sposobow, ale tych zlych pewnie:) )
Wyskakuje mi blad
Couldn’t find Article with ID=3829
i to jest ID koentarza, a nie samego artykulu. W db mam tabele comments a w niej min id i article_id. Czytalem cos na ten temat w agile wyd 2
ze sa to zagniezdzone zasoby i tam w przykladzie autor dodaje controller comments.
pytam, czy musze utworzyc drugi controller czy mozna tak jak przy dodaawaniu komentarza jakos zrobic?
Z gory dzieki