在创建新的“服务”资源后,我无法将用户重定向到我想要的页面。
这是routes.rb:
resources :wsps do
resources :services
end
html表单:
<%= form_for([@wsp,@service]) do |f| %>
Services_controller.rb:
def new
@wsp = current_wsp
@service = @wsp.services.build
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @service }
end
end
def create
@wsp = current_wsp
@service = @wsp.services.build(params[:service])
if @service.save
redirect_to wsp_service_path
end
end
wsp_service_path转到/ wsps / 1 / services并出现错误:
No route matches {:action=>"destroy", :controller=>"services"}
我做错了什么?为什么我不能使用“wsp_service_path”?
谢谢。
答案 0 :(得分:3)
您可以使用wsp_service_path
(因为您在控制器中时应该使用wsp_service_url
)。你所缺少的只是争论。 wsp_service_path
(或_url
)会期望两个参数:wsp和服务。一旦你提供了这两个,它就可以了。
redirect_to wsp_service_url(@wsp, @service)