【发布时间】:2013-07-16 21:06:28
【问题描述】:
我有一个创建页面模板的应用程序。用户帐户中有许多页面(用户模板)。单击删除按钮时出现以下错误:
浏览器:
Routing Error
No route matches [DELETE] "/pages/1"
html:
<%= link_to 'Delete', page_path(page), :method => :delete,
:confirm => "Are you sure you want to delete?",
:remote => true,
class: 'btn btn-table-action btn-danger' %>
控制器:
def destroy
@page = Page.find(params[:attributeID])
@page.destroy
render :index
end
路线:
pages GET /pages(.:format) pages#index
POST /pages(.:format) pages#create
edit_page GET /pages/:id/edit(.:format) pages#edit
page GET /pages/:id(.:format) pages#show
PUT /pages/:id(.:format) pages#update
更新:
routes.rb:
resources :pages, only: [:index, :show, :create, :edit, :update] do
resource :optin_integration, only: [:edit, :update]
end
我应该从哪里开始创建删除路由并使我的删除按钮在 Rails 中起作用?
【问题讨论】:
-
你能发布你的
config/routes.rb文件是什么样子的吗? -
我在 routes.rb 文件中包含了
:pages -
是的,然后按照@screenmutt 的建议进行操作,并将 :destroy 添加到
only -
我喜欢 stackoverflow。我现在遇到了一个不同的错误,但这成功了。谢谢@liamneesonsarmsauce
标签: ruby-on-rails controller routes link-to