2012-07-27 14 views
0

에 내가 레일 3.2.6에 루비를 설치 한 및 작동라우팅 오류 루비 레일

및 액세스 127.0.0.1:3000에 내가 레일 서버를 실행할 때, 나는 컨트롤러를 생성하지만 때, 라우팅 오류

: 예를 들어

레일 오류 다음 컨트롤러 주요

및 127.0.0.1:3000/somecontroller에 접근, 브라우저 쇼를 생성

경로가 [GET] "/ principal"과 일치하지 않습니다. 사용 가능한 경로에 대한 자세한 내용은 레이크 경로를 실행 해보십시오.

무엇을해야하며 간단하게 설명 할 수 있습니까?

+0

당신의 routes.rb 도움이 될 불여일견 다음 레일 인수로 이름을 제공하여 전자 시간은 컨트롤러를 예를 들어 명령을 생성합니다. –

+0

감사합니다. 여전히 작동하지 않습니다. 심지어 3000 이후에 어떤 이름이라도 넣으십시오. 오류가 동일합니다. – chenio

+0

컨트롤러를 'principal'으로 정의하면 경로가'/ principals' 였을 수도 있습니다. – uday

답변

2

문제는 어떤 동작도 지정하지 않으므로 컨트롤러 'principal'이 비어 있고 유사한 이름으로 뷰가 생성되지 않으며 경로가 만들어지지 않습니다.

당신은 할 필요가 : 컨트롤러 이름이 액션 이름은

rails generate controller principal index [show] [edit] [update] [create] [destroy] 

이름 후. 컨트롤러의 '교장'을 단수로 말한 이후로, 당신은 하나의 리소스를 가지고 있음을 암시 할 수 있습니다. 복수형으로 원하면 '컨트롤러 주체'라고 말하십시오.

그리고 당신의 경로가 표시되어야한다는 :

resource :principal [ or :principals or multiple Restful routes ] 
1

당신은 설정/routes.rb이 경로에 요청을하는 컨트롤러 라우터에게 편집해야합니다. 표준 레일은 RESTful 라우트를 사용하는 것이며,이 예제에서 제공 한 예제에서는 단일 프린시 펄 자원과 동일합니다. 따라서 다음을 추가해야합니다.

resource :principal 

이 자원에 대한 RESTful 경로 집합을 생성해야합니다. 당신은 수행하여 생성 된 경로를 볼 수 있습니다

rake routes 

당신이 REST에 대해 걱정하지 않는 경우

다음은 간단하게 추가 할 수 있습니다합니다 (PrincipalController를 가정하는 것은 인덱스 방법이 있습니다) :

match 'principal' => 'principal_controller#index' 

보고에서 되세요 라우팅에 대한 추가 정보를 원하시면 레일 가이드에서이 장 :

http://guides.rubyonrails.org/routing.html

는 또한 샘에서 컨트롤러의 방법과 경로를 생성 할 수 있습니다

rails generate controller principal index