我正在尝试删除我的界面,它说
没有路由匹配{:action =>“ show”,:controller =>“ interfaces”,:project_id =>#},缺少必需的键:[:id]。
因为我不知道应该将哪些参数放入<%=link_to '删除', project_interface_path()%>
我在路径中尝试了许多不同的参数。
def destroy
@interface = @project.interfaces.find(params[:project_id])
redirect_to project_interfaces_path if @interface.destroy
end
def index
@interfaces = Interface.all
@project = Project.find(params[:project_id])
end
def new
@project = Project.find(params[:project_id])
@interface = Interface.new
end
def create
@project = Project.find(params[:project_id])
@interface = @project.interfaces.new(interface_params)
if @interface.save
redirect_to project_interfaces_path
else
render :new
end
end
<% @interfaces.each do |interface| %>
<tr>
<th scope="row">1</th>
<td><%=interface.name %></td>
<td><%=interface.desp %></td>
<td><%=interface.method_type_id %></td>
<td><%=interface.request_url %></td>
<td><%=interface.request_eg %></td>
<td><%=interface.response_eg %></td>
</tr>
<td><%= link_to '删除', project_interface_path(interface),method: :delete, data:{confirm:'确定要删除吗?'}, class: 'badge badge-dark' %></td>
Rails.application.routes.draw do
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
root "method_types#index"
resources :method_types
resources :field_types
resources :projects do
resources :interfaces
end
end
答案 0 :(得分:0)
尝试一下:
<%= link_to '删除', project_interface_path(@project.id, interface.id),method: :delete, data:{confirm:'确定要删除吗?'}, class: 'badge badge-dark' %></td>