Когда я нажимаю на ссылку «удалить» (чтобы удалить проект), я хочу показать новую страницу для пользователя, чтобы подтвердить удаление (страница «Вы уверены»). Но когда я нажимаю на ссылку, появляется ошибка Маршрут не соответствует [GET] "/ assets" , я не знаю почему. Кто-нибудь может мне помочь?
Это мои проекты / index.html.erb
1 <% @projects.each do |p| %>
2 <%= link_to p.name, project_path(p) %>
3 <%= link_to "edit", edit_project_path(p) %>
4 <%= link_to "delete",{ :action => 'delete', :controller => 'projects', :id => p.id } %>
5 <% end %>
Это мои контроллеры / projects_controller.rb
38 def delete
39 @project = Project.find(params[:id])
40 render 'delete'
41 end
42
43 def destroy
44 project = Project.find(params[:id])
45 project.destroy
46 flash[:notice] = "Page succesfully removed"
47 redirect_to(projects_path)
48 end
Это мои взгляды / projects / delete.html.erb
1 <%= form_for(:project, :url => {:action => 'destroy', :id => @project.id }) do |f| %>
2 <p>Are you sure you want to remove "<%= @project.name %>"</p>
3 <%= submit_tag ("Yes, I am sure")
4 <% end %>
РЕДАКТИРОВАТЬ: мой URL выглядит так >>> http://localhost:3000/assets?action=delete&controller=projects&id=1
РЕДАКТИРОВАТЬ 2: решение идет в route.rb и добавляет эту строку
match ':controller(/:action(/:id))(.:format)'
Теперь появляется страница удаления. Однако, когда я нажимаю кнопку удаления, Rails возвращает ошибку >> Неизвестное действие. Не удалось найти действие «6» для ProjectsController