【发布时间】:2012-03-15 00:10:36
【问题描述】:
当我单击“删除”链接(删除项目)时,我希望显示一个新页面供用户确认删除(“您确定”页面)。但是当我点击链接时,出现错误No route matches [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
这是我的意见/项目/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 %>
编辑:我的网址看起来像这样 >>> http://localhost:3000/assets?action=delete&controller=projects&id=1
EDIT2:解决方案是转到 routes.rb 并添加这一行
match ':controller(/:action(/:id))(.:format)'
现在出现删除页面。 但是,当我单击删除按钮时,Rails 会返回错误 >> Unknown action The action '6' could not be found for ProjectsController
【问题讨论】:
-
您需要在问题中包含您的删除视图。
-
谢谢。您对如何解决这个问题有任何想法吗?
-
不,我的意思是您需要在问题中而不是标题中发布删除视图的代码。
-
需要看看你的 routes.rb
-
我进去并取消了这一行的注释 >> match ':controller(/:action(/:id(.:format)))' 现在“你确定”页面显示,但是,当我单击 submit_tag("Yes,I am sure") 时,它返回 >> Unknown action The action '6' could not be found for ProjectsController
标签: ruby-on-rails