Эй, я видел несколько постов по этому вопросу, но у меня все еще есть проблемы с вызовом: method => 'delete' и обращением к методу show моего контроллера. Метод destroy работает, как и ожидалось, в том смысле, что он удаляет комментарий, но после выполнения запроса он выдает 404 на GET. Вот код:
<%= link_to 'delete', "/events/#{@event.id}/comments/#{comment.id}.js",
:confirm => 'Are you sure?',
:method => :delete,
:remote => true %>
Вот метод контроллера:
def destroy
@comment = @event.comments.find(params[:id])
@comment.destroy
redirect_to do |format|
format.html # redirect_to @event, :notice => "comment deleted" }
format.js { render 'destroy.js.erb' }
end
end
Я слышал, что это может быть связано с тем, что не используется button_to, но я попытался использовать button_to, а не link_to, но это делает то же самое.
Я также слышал, что это может быть связано с некоторыми проблемами, связанными с тем, как вы используете jquery в вашей установке, но я чувствую, что сомневаюсь в этом, но вот как я вызываю jquery на всякий случай (приложение. html.erb):
<%= javascript_include_tag 'jquery-1.5.2.min.js', 'rails', 'application' %>
<%= javascript_include_tag 'jquery-ui-1.8.17.custom.min.js' %>
Когда я смотрю вывод сервера rails, я вижу, что он говорит:
Redirected to http://0.0.0.0:3000/events/1/comments/35
Completed 302 Found in 132ms
ACTION NAME application
Started GET "/events/1/comments/35" for 127.0.0.1 at Wed Feb 08 16:31:43 -0800 2012
AbstractController::ActionNotFound (The action 'show' could not be found for CommentsController):
Спасибо за помощь!