Rails 3嵌套路由控制器访问

时间:2010-11-27 15:23:03

标签: ruby-on-rails ruby ruby-on-rails-3

我有一个嵌套路线:

resources :wsps do
    member do
     get :location
     get :password
    end

    resources :services
  end

我可以通过de services视图和服务控制器访问所有路径(例如:new_wsp_service_path),但是,我不能使用wsp视图执行相同的操作。它说它不承认行动“新”。

我想知道如何在Wsps视图中使用new_wsp_service_path。

我试图将此添加到wsp控制器show但仍未修复:

def show
    @wsp = Wsp.find(params[:id])
    @title = @wsp.name
    @services = @wsp.services
   @page_name = "overview"
   respond_to do |format|
      format.html # index.html.erb
      format.xml  { render :xml => @services }
    end
  end

感谢。

1 个答案:

答案 0 :(得分:1)

确保在调用路径助手时传递Wsp对象。 打开rails控制台(rails c)并试试这个::

app.new_wsp_service_path       # => ERROR!
app.new_wsp_service_path(1)    # => should work
@wsp = ...                     # get a Wsp record
app.new_wsp_service_path(@wsp) # => should work

当我忘记将记录传递给嵌入路径时,我经常遇到此错误。如果这不能解决您的问题,请发布上述命令的输出,并确保使用rake routes | grep new_wsp_service设置您的路线。