네임 스페이스 / 모듈 정의되지 않은 변수 (경로), 레이크 출력에서 확인

Peege151

빠른 개요:

네임 스페이스로 인해 혼란스러워지는 것 같아요 ...

저는 거의 엔진을 생성하는 발전기를 만들었습니다.

내가 생성 한 경로에 대해 정의되지 않은 메서드를 얻고 있지만 레이크 경로에 표시됩니다.

좀 더:

내 생성기는 다음 경로를 생성합니다.

namespace :shifted_commerce do
  resources :items
  resources :base_items
  resource :cart, only: [:show, :update, :destroy] do
        resource :order, only: [:show, :create, :update, :edit, :new
  end
end

이제 컨트롤러가 app/controllers/shifted_commerce/(controller_name)

다음은 base_item 컨트롤러에 대한 색인 작업입니다.

def index
    @base_items = ShiftedCommerce::BaseItem.all
    @line_item = ShiftedCommerce::LineItem.new
    @cart = current_cart
    @title = "Store"
end

보시다시피, 모델 이름도 지정했습니다.

    class ShiftedCommerce::BaseItem < ActiveRecord::Base
    {...}
    end

위의 작업을 통해 내 앱이 라우팅됩니다.

root 'shifted_commerce/base_items#index'

페이지로드시 오류가 발생합니다.

 undefined local variable or method `new_base_item_path' for #<#<Class:0x007fe26ea77940>:0x007fe26c580a10>

수업이 될 수 있습니까 #<#<Class:0x007fe26ea77940>:0x007fe26c580a10>? 이 문제를 디버깅하는 방법을 잘 모르겠습니다.

내가 경로를 호출하는 코드 :

{...}
<%= link_to "New Item", new_shifted_commerce_base_item_path %>

내 경로는 다음과 같습니다.

                          Prefix Verb   URI Pattern                                     Controller#Action
          shifted_commerce_items GET    /shifted_commerce/items(.:format)               shifted_commerce/items#index
                                 POST   /shifted_commerce/items(.:format)               shifted_commerce/items#create
       new_shifted_commerce_item GET    /shifted_commerce/items/new(.:format)           shifted_commerce/items#new
      edit_shifted_commerce_item GET    /shifted_commerce/items/:id/edit(.:format)      shifted_commerce/items#edit
           shifted_commerce_item GET    /shifted_commerce/items/:id(.:format)           shifted_commerce/items#show
                                 PATCH  /shifted_commerce/items/:id(.:format)           shifted_commerce/items#update
                                 PUT    /shifted_commerce/items/:id(.:format)           shifted_commerce/items#update
                                 DELETE /shifted_commerce/items/:id(.:format)           shifted_commerce/items#destroy
     shifted_commerce_base_items GET    /shifted_commerce/base_items(.:format)          shifted_commerce/base_items#index
                                 POST   /shifted_commerce/base_items(.:format)          shifted_commerce/base_items#create
  new_shifted_commerce_base_item GET    /shifted_commerce/base_items/new(.:format)      shifted_commerce/base_items#new
 edit_shifted_commerce_base_item GET    /shifted_commerce/base_items/:id/edit(.:format) shifted_commerce/base_items#edit
      shifted_commerce_base_item GET    /shifted_commerce/base_items/:id(.:format)      shifted_commerce/base_items#show
                                 PATCH  /shifted_commerce/base_items/:id(.:format)      shifted_commerce/base_items#update
                                 PUT    /shifted_commerce/base_items/:id(.:format)      shifted_commerce/base_items#update
                                 DELETE /shifted_commerce/base_items/:id(.:format)      shifted_commerce/base_items#destroy
     shifted_commerce_cart_order POST   /shifted_commerce/cart/order(.:format)          shifted_commerce/orders#create
 new_shifted_commerce_cart_order GET    /shifted_commerce/cart/order/new(.:format)      shifted_commerce/orders#new
edit_shifted_commerce_cart_order GET    /shifted_commerce/cart/order/edit(.:format)     shifted_commerce/orders#edit
                                 GET    /shifted_commerce/cart/order(.:format)          shifted_commerce/orders#show
                                 PATCH  /shifted_commerce/cart/order(.:format)          shifted_commerce/orders#update
                                 PUT    /shifted_commerce/cart/order(.:format)          shifted_commerce/orders#update
           shifted_commerce_cart GET    /shifted_commerce/cart(.:format)                shifted_commerce/carts#show
                                 PATCH  /shifted_commerce/cart(.:format)                shifted_commerce/carts#update
                                 PUT    /shifted_commerce/cart(.:format)                shifted_commerce/carts#update
                                 DELETE /shifted_commerce/cart(.:format)                shifted_commerce/carts#destroy
                            root GET    / 
Mattforni

무엇보다 먼저 네임 스페이스 컨트롤러 및 작업에 대한 적절한 규칙을 따르고 있다고 생각하지 않습니다 . 레일 문서에 따르면 다음과 같이 경로를 정의해야합니다.

namespace :shifted_commerce do
  resources :items
  resources :base_items
  resource :cart, only: [:show, :update, :destroy] do
    resource :order, only: [:show, :create, :update, :edit, :new]
  end
end

그렇다면 귀하의 행동에 접근하는 방법은 다음과 같습니다.

new_shifted_commerce_base_item_path

레일 라우팅 문서를 실제로 살펴 봐야 합니다 . 매우 유용하고 간단합니다. 또한 여기 에 네임 스페이스와 레일 의 범위차이점 에 대한 좋은 스택 오버플로 게시물이 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

처음에 인라인 네임 스페이스의 엔 클로징 네임 스페이스에 정의 된 인라인 네임 스페이스에서 네임 스페이스 확장

분류에서Dev

사용자 정의 네임 스페이스가 객체 인 경우 기본 argparse 인수 값이 설정되지 않음

분류에서Dev

네임 스페이스 모듈 메서드 정의

분류에서Dev

네임 스페이스 모듈 인증에 대한 중복 네임 스페이스 인증 /

분류에서Dev

Rails : 컨트롤러가 모듈 / 네임 스페이스의 클래스를 인식 할 수 없음-초기화되지 않은 상수

분류에서Dev

CoreDNS가 K8S / Minikube로 네임 스페이스 외부의 서비스 URL을 확인하지 않음

분류에서Dev

각 네트워크 네임 스페이스에서 새 인스턴스 인 Linux 커널 모듈을 작성하는 방법은 무엇입니까?

분류에서Dev

사용자 지정 py 모듈을 가져 오지만 로컬 네임 스페이스 내에서 재정의하는 방법은 무엇입니까?

분류에서Dev

R 데이터 프레임에 변수가 있는지 확인 : NA로 설정되지 않은 경우 값이 유지되는지 확인

분류에서Dev

ServiceStack 네임 스페이스 변경이 작동하지 않음

분류에서Dev

Properties.Resources.XXXX 네임 스페이스 또는 모듈이 정의되지 않았습니다.

분류에서Dev

하위 모듈에서 생성자 함수를 사용할 때 예기치 않은 "double"네임 스페이스

분류에서Dev

하위 모듈에서 생성자 함수를 사용할 때 예기치 않은 "double"네임 스페이스

분류에서Dev

특정 네임 스페이스 (모듈)로 범위가 지정된 상수 (클래스) 찾기

분류에서Dev

UID 네임 스페이스에서 매핑되지 않은 UID로 setuid를 설정할 수 있습니까?

분류에서Dev

BBB의 고정 IP는 네트워크 / 인터페이스 파일로 변경되지 않습니다.

분류에서Dev

: path 매개 변수가 작동하지 않는 네임 스페이스 내부의 얕은 경로

분류에서Dev

Python 소셜 인증에 등록되지 않은 URL 네임 스페이스

분류에서Dev

모듈 경로가 환경 변수에 정의 된 후에도 Powershell 모듈이로드되지 않음

분류에서Dev

DataContract의 네임 스페이스 변경

분류에서Dev

socket.io에서 네임 스페이스 변경 감지

분류에서Dev

네임 스페이스 변경으로 인해 EF6.1.2의 DynamicData가 작동하지 않음

분류에서Dev

1.8의 모듈이 1.8.1에서 작동하지 않음 'Orchard'유형 또는 네임 스페이스 이름을 찾을 수 없습니다.

분류에서Dev

Rails에서 NameError를 생성하는 네임 스페이스 모델 : 초기화되지 않은 상수

분류에서Dev

Rails : 네임 스페이스 모델이로드되지 않음

분류에서Dev

호출되는 메서드에 네임 스페이스를 자동으로 추가하는 모듈

분류에서Dev

Python : 모듈과 네임 스페이스간에 공유되는 변수

분류에서Dev

다른 pid 네임 스페이스에서 자식의 프로세스 ID를 확인할 수 있습니까?

분류에서Dev

외부에서 네임 스페이스 변수 값 변경 (C ++)

Related 관련 기사

  1. 1

    처음에 인라인 네임 스페이스의 엔 클로징 네임 스페이스에 정의 된 인라인 네임 스페이스에서 네임 스페이스 확장

  2. 2

    사용자 정의 네임 스페이스가 객체 인 경우 기본 argparse 인수 값이 설정되지 않음

  3. 3

    네임 스페이스 모듈 메서드 정의

  4. 4

    네임 스페이스 모듈 인증에 대한 중복 네임 스페이스 인증 /

  5. 5

    Rails : 컨트롤러가 모듈 / 네임 스페이스의 클래스를 인식 할 수 없음-초기화되지 않은 상수

  6. 6

    CoreDNS가 K8S / Minikube로 네임 스페이스 외부의 서비스 URL을 확인하지 않음

  7. 7

    각 네트워크 네임 스페이스에서 새 인스턴스 인 Linux 커널 모듈을 작성하는 방법은 무엇입니까?

  8. 8

    사용자 지정 py 모듈을 가져 오지만 로컬 네임 스페이스 내에서 재정의하는 방법은 무엇입니까?

  9. 9

    R 데이터 프레임에 변수가 있는지 확인 : NA로 설정되지 않은 경우 값이 유지되는지 확인

  10. 10

    ServiceStack 네임 스페이스 변경이 작동하지 않음

  11. 11

    Properties.Resources.XXXX 네임 스페이스 또는 모듈이 정의되지 않았습니다.

  12. 12

    하위 모듈에서 생성자 함수를 사용할 때 예기치 않은 "double"네임 스페이스

  13. 13

    하위 모듈에서 생성자 함수를 사용할 때 예기치 않은 "double"네임 스페이스

  14. 14

    특정 네임 스페이스 (모듈)로 범위가 지정된 상수 (클래스) 찾기

  15. 15

    UID 네임 스페이스에서 매핑되지 않은 UID로 setuid를 설정할 수 있습니까?

  16. 16

    BBB의 고정 IP는 네트워크 / 인터페이스 파일로 변경되지 않습니다.

  17. 17

    : path 매개 변수가 작동하지 않는 네임 스페이스 내부의 얕은 경로

  18. 18

    Python 소셜 인증에 등록되지 않은 URL 네임 스페이스

  19. 19

    모듈 경로가 환경 변수에 정의 된 후에도 Powershell 모듈이로드되지 않음

  20. 20

    DataContract의 네임 스페이스 변경

  21. 21

    socket.io에서 네임 스페이스 변경 감지

  22. 22

    네임 스페이스 변경으로 인해 EF6.1.2의 DynamicData가 작동하지 않음

  23. 23

    1.8의 모듈이 1.8.1에서 작동하지 않음 'Orchard'유형 또는 네임 스페이스 이름을 찾을 수 없습니다.

  24. 24

    Rails에서 NameError를 생성하는 네임 스페이스 모델 : 초기화되지 않은 상수

  25. 25

    Rails : 네임 스페이스 모델이로드되지 않음

  26. 26

    호출되는 메서드에 네임 스페이스를 자동으로 추가하는 모듈

  27. 27

    Python : 모듈과 네임 스페이스간에 공유되는 변수

  28. 28

    다른 pid 네임 스페이스에서 자식의 프로세스 ID를 확인할 수 있습니까?

  29. 29

    외부에서 네임 스페이스 변수 값 변경 (C ++)

뜨겁다태그

보관