2010-11-27 2 views
1

У меня есть вложенная маршрут как:Rails 3 гнездовые пути доступа контроллер

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

    resources :services 
    end 

я могу получить доступ ко всем пути (например: new_wsp_service_path) через де услуги мнения и услуги управления, однако, я не могу сделать то же самое с помощью вид wsp. В нем говорится, что он не распознает действие «новое».

Я хотел бы знать, как я могу использовать new_wsp_service_path в представлениях Wsps.

Я попытался добавить это к контроллеру WSP шоу, но до сих пор не исправляет:

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

Убедитесь, что вы передаете объект Wsp, когда вы вызываете помощник пути. Откройте консоль Рельсы (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.

Смежные вопросы